如何在MVC视图中的按钮上将隐藏字段值传递到我的Onclick方法

时间:2017-10-13 12:32:17

标签: asp.net-mvc

在我看来,我有一个像这样的隐藏字段:

  @Html.HiddenFor(m => m.Url)

然后我有一个表单,我通过这样的Ajax调用发布数据:

<form id="formdata">

     <input class="btn primary" type="submit" value="Submit" onclick="submitForm('@Url.RouteUrl("createAccount/"+ '@Html.HiddenFor(m => m.Url)'+ )'">

</form>

如何将隐藏表单中的网址传递到我的提交功能中。我不确定我是否必须使用双引号或单引号?或者这是可以实现的吗?

谢谢

1 个答案:

答案 0 :(得分:1)

HtmlHelper.HiddenFor用于创建具有指定给viewmodel binder的指定值的隐藏字段,而不是直接呈现其值。你需要的是使用Model.Url属性将viewmodel属性传递给JS函数,如下所示:

<input class="btn primary" type="submit" value="Submit"
       onclick="submitForm('@Url.RouteUrl("createAccount/" + Model.Url)')">

如果它返回包含查询字符串的编码网址,请使用Html.Raw(),即Html.Raw(Model.Url)

注意:您可以使用AjaxHelper.BeginForm通过AJAX提交表单,作为处理提交按钮click事件&amp;的替代方法。将jQuery.ajax与传递的网址一起使用。