我在ASP.Net MVC视图上有一个jqGrid。我想用它来传递页面上隐藏文本控件的值作为jqGrid方法的附加参数。
我有以下隐藏文字字段:
<div>
<%= Html.Hidden("contactId", Model.ContactId) %>
</div>
我想做类似的事情:
userdata: {contactId : jQuery('#contactId')}
在jqGrid调用中。 Controller Action方法具有以下签名:
public ActionResult SearchResult(string sidx, string sord, int page, int rows, object userdata)
但是当我运行它时,当我在调试器中检查它时,C#代码中的userdata
只是说System.Object
,而我认为我不能从中获得任何有用的东西。
我出错的任何想法?
答案 0 :(得分:6)
您想要的jqGrid属性是postData。 UserData走另一条路。
将您对JqGrid的调用更改为包括:
postData: {contactId : jQuery('#contactId').val()}
然后更改操作的签名以获取contactId:
public ActionResult SearchResult(string sidx, string sord, int page, int rows,
int contactId)
我猜对了这个类型。使用真实类型代替int。