如何在mvc3中将数据从剃须刀视图传递给控制器?
我有一个模型,我正在使用从我的视图传递数据到我的控制器,但我有一些从文本框和下拉列表中解除绑定。 我该如何将未绑定的数据从我的视图传递回使用ViewData或ViewBag ....或其他东西的控制器。 谢谢!
你能给个例子吗? 看起来好像你在混合你的术语。 通常不会将数据从视图传递到控制器,除非通过POST/GET
。 我会假设这就是你的意思。 您可以通过具有相同名称的参数或使用FormCollection
将任何数据获取到控制器的操作方法中。
public ActionResult SomeMethod(
string yourUnboundTextBoxName,
FormCollection colleciton) { }
在你看来,它可能有这样的东西:
<div>
<input type='text' name='yourUnboundTextBoxName' />
</div>
MVC将自动获取yourUnboundTextBoxName
的值并将该值插入到同名的参数中。 或者你可以使用FormCollection
并从那里获取值。 FormCollection["yourUnboundTextBoxName"]
您无法使用ViewBag将数据从视图传递到控制器。 该视图(或至少是从视图中生成的HTML)可以使用表单将数据发回控制器,并且默认绑定器将允许您将对象作为参数提供给控制器的方法。
如果您需要大量数据,则可以使用正确的命名准则和默认绑定来传递数组等。
除此之外,您需要为我们提供更多数据。
您可以通过多种方法将模型发送回控制器。 这只是其中之一。 由于您似乎只需要一次发送几个项目(可能是动态的),因此此方法可以控制要发回的内容,然后使用.ajax()请求执行此操作。
Asp.Net MVC将View中的Url.Action对象传递给Controller
从上面的链接:
$.ajax({ url: '@Url.Action("ControllerActionResult")', type: 'POST', data: JSON.stringify(model), //you can serialize a form here as well OR simply put in the name value pairs of your data, ex. myTextBox='something' dataType: 'json', processData: false, contentType: 'application/json; charset=utf-8', success: OnSuccess });
注意ajax文档jQuery .ajax()
链接地址: http://www.djcxy.com/p/83475.html上一篇: How to pass data from razor view to controller in mvc3?