asp.net-mvc – asp.net mvc Ajax.BeginForm

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – asp.net mvc Ajax.BeginForm前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Ajax.BeginForm中遇到了一些困难

我有这样的看法

<% using (Ajax.BeginForm("ActionName",null,new { id = "FormName" }))
     {%>
      <input type="hidden" value = '<%= Html.Encode( Model.id) %>' name="id"/>
      <textarea id="message" name=message rows="4" style="width: 90%"> 
      </textarea>
  <% }%}

而行动方法就是这样的

[AcceptVerbs(HttpVerbs.Post)]
    [Authorize]
    public ActionResult ActionName(int id,string message)
    {
     ....
    }

我试图将“id”和“message”传递给action方法.我传递’null’为routeValues,但我不知道通过什么.理想情况下,我试图找到一个不需要路由值的重载,但是使用了actionName和htmlattributes(对于表单名称),但是找不到一个.我不想在视图模型中添加’message’,我需要在这里的FormName中进行jquery操作.
解决这个问题的最好办法是什么?

哦,我忘了提一下,这是怎么发表的

$.post($("#FormName").attr('action'),$("#FormName").serialize(),function(result) {
                                   $("#correspondingDiv").html(result);
                               }
                            );

解决方法

使用此超载:
http://msdn.microsoft.com/en-us/library/dd470605.aspx
Ajax.BeginForm(
    string "ActionName",string "ControllerName",new routevalues {id="IDValue",message="MyMessage"},new AjaxOptions {OnBegin=[someFunction],OnFailure=[failureFunction] },new { id = "FormName" }
)

猜你在找的asp.Net相关文章