0
我正在学习MVC,我想了解如何访问控制器级别的ViewModel。如何访问控制器上的ViewModel
我的问题是如何访问MethodTwo中的ViewModel?
- 我是否需要将ViewModel发送回AJAX调用?
- 是否有一种简单的方法能够访问该方法中的视图模型?
例如:
视图模型
public class MyViewModel
{
public int MyID { get; set; }
public string MyString { get; set; }
public bool MyBool { get; set; }
}
在控制器我有这样的:
public ActionResult MethodOne(int myId, string myString, bool myBool)
{
MyViewModel mvm = new MyViewModel { MyID = myId, MyString = myString,yBool = myBool };
return View("MyPrint", mvm);
}
在我MyPrint页我做一个Ajax GET(相同的控制器),我想访问相同的ViewModel。
public string MethodTwo()
{
// How can I access the ViewModel here???
//var myString = DoStuff(MyViewModel);
return myString;
}
为了在'MethodTwo'中访问模型的值,您需要将它传递给'MethodTwo'。如果你正在做一个GET请求,这将是查询字符串中的值。 ajax请求是什么样的? – markpsmith
$阿贾克斯({ 类型: 'GET', 网址: '/主/ MediaReach/GetPrintData', 的contentType: 'text/html的', 数据:{ MRPM:@Model } })。DONE (function(result){(“#abc”)。append(result); print(); })。 – PrivateJoker
@JDS使用ModelBinding技术来获取Model内的控制器数据。 [好](http://odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx)教程在这里。 –