2012-03-07 128 views
0

我想使用ViewBag刷新视图中的数据。它是可能的,或者我可以采用其他技术....如何在MVC3中使用ViewBag更改或刷新数据

这里是我的示例代码

在我查看页面FamilyDetails

@ViewBag.Details[0].Name

在我的控制器中

public ActionResult FamilyDetails(string StrText) 
    { 
     if (StrText != null) 
     { 
      ViewBag.MarriageDetails = ListMarriages; 
     } 
     else 
      ViewBag.MarriageDetails = ListMarriages1; 

请用代码解释。

在此先感谢

+0

你的问题很混乱。您将一些数据分配给MarriageDetails属性,然后调用视图中的Details属性。这是没有意义的。通过刷新数据,你的意思是什么? – MikeSW 2012-03-07 11:20:34

+0

Hai MikeSW,抱歉它错了任务。请假设将具有MarriageDetails的Details替换为指定的列表。我的意思是我想改变显示在我的视图中的名字,用其他名字 – Gopal 2012-03-07 11:22:45

+0

我还是不明白你的意思是什么让人耳目一新。您分配数据,就是这样。 – MikeSW 2012-03-07 11:26:19

回答

1

您不重新加载视图。浏览器发送一个由控制器处理的请求,然后控制器创建视图模型(在这种情况下为viewbag),然后选择视图模型传递到的视图。

您需要使用控制器中需要的数据填充查看包。这是一个asp.net mvc应用程序的工作原理。

如果您想通过ajax更新视图,那么您只需使用jquery调用另一个操作,该操作将返回所需的数据作为json或html,它将由javascript插入。但是在这种情况下,控制器只是返回一个json结果。

我想你真的需要了解一下asp.net mvc。官方网站有基本教程http://www.asp.net/mvc/tutorials

+0

k迈克,感谢您的答复。 – Gopal 2012-03-07 11:51:59