Hi,
Can anybody tell me how to reload a view in MVC3 using javascript.
Here is my scenario :
In View i placed a JQTreeview and i am binding that tree with database from controller method using
DataUrl, It is a property of JQTreeview. I have to add new node based on selected item of the tree. At this point i am trying to reload the page but control is not going to the controller method.
For reloading page i am using
window.location.reload(); in javascript.
Code:
MVC@Html.Trirand().JQTreeView(
new JQTreeView {
DataUrl = Url.Action("TreeView_TextAndImages_DataRequested"),
Height = Unit.Pixel(300),
Width = Unit.Pixel(300),
ClientSideEvents = new TreeViewClientSideEvents { Select = "SelectNode" },
}, "treeview")Here is the controller method
public JsonResult TreeView_TextAndImages_DataRequested() {
List<jqtreenode> nodes = new List<jqtreenode>();
ListAllItems();
if (lstItems.Count == 0) {
nodes.Add(new LeafNode { Text = "New.." }); }
else {
nodes.Add(new LeafNode { Text = "New..", Expanded = true });
if (check)
nodes.Add(new LeafNode { Text = "New Accumulator <date time="">..", Expanded = true });
var node = nodes.Find(n => n.Text == "New..");
foreach (TreeItems item in lstItems) {
if (item.TreeItemsCount > 0) {
node.Nodes.Add(new FolderNode { Text = item.ParentItem, Value = item.ID.ToString(), Expanded = false });
AddItems(node.Nodes, item); }
else
node.Nodes.Add(new LeafNode { Text = item.ParentItem, Value = item.ID.ToString() });
}
}
return tree.DataBind(nodes);
}
Finally json result will be returned to the treeview and data will be binded to treeview.
When i select a node in tree, below JS function will be executed.
function SelectNode(args, event) {
debugger;
var tree = $("#treeview").getTreeViewInstance();
var nodeOptions = tree.getNodeOptions(args);
var node = "New Accumulator";
if (nodeOptions.text == "New..") { }
}
}
Thanks
Kishore Kumar M