Ich habe ein jqGrid in einer ASP.Net MVC-Ansicht. Ich möchte verwenden, um den Wert eines ausgeblendeten Textsteuerelements auf der Seite als zusätzlichen Parameter an eine jqGrid-Methode zu übergeben.Verwenden von jqGrid userdata
Ich habe folgende versteckte Textfeld:
<div>
<%= Html.Hidden("contactId", Model.ContactId) %>
</div>
und ich möchte, wie etwas zu tun ist:
userdata: {contactId : jQuery('#contactId')}
im jqGrid Anruf. Die Controller Aktion Methode hat die folgende Signatur:
public ActionResult SearchResult(string sidx, string sord, int page, int rows, object userdata)
Aber wenn ich es laufen, userdata
im C# -Code sagt nur System.Object
, wenn ich es im Debugger untersuchen, und ich glaube nicht, dass ich anythings nützlich heraus bekommen davon.
Irgendwelche Ideen, wo ich falsch gelaufen bin?
contactId ist eine Guid in eine Zeichenfolge codiert, wenn ich Zeichenfolge contactId in der Signatur habe ich den folgenden Zeichenfolgenwert erhalten: "[Objekt HTMLInputElement]". Ich nehme an, ich muss den Wert des jQuery ('# contactId') Elements und nicht das Element selbst erhalten. Leider bin ich komplett neu in jQuery/JavaScript und weiß nicht wie ich das machen soll! –
Verstanden! Sie müssen postData: {contactId: jQuery ('# contactId'). Val()} haben, um die Zeichenfolgendarstellung der GUID zu erhalten. Danke vielmals. –
Sie können String ändern -> Guid und MVC-Bindung wird es für Sie konvertieren. –