加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:51:17 所属栏目:asp.Net 来源:网络整理
导读:我在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
我在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" }
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读