如何使用Ajax BeginForm将单击按钮的id传递给控制器​​?

时间:2014-01-25 07:26:32

标签: asp.net asp.net-mvc kendo-ui ajaxform

我在我的asp.net mvc3应用程序中使用带有KendoUI ListView的@ Ajax.BeginForm()。 KendoUI ListView显示项目列表,每个项目都有一个按钮。 我的要求是单击提交按钮,我需要将一个单击按钮的ID发送到控制器并返回该项的完整信息。 我的方法是使用onclick函数为所有按钮触发AjaxBeginForm提交输入,但AjaxBeginForm提交输入似乎没有将正确的值传递给控制器​​, 我怎样才能做到这一点?

    <pre>
 //My Ajax form
var ajaxOpts = new AjaxOptions
    {
        HttpMethod = "POST",
        UpdateTargetId = "gallery",
        InsertionMode = InsertionMode.Replace,
        OnBegin = "OnBeginT1",
    };
    @using (Ajax.BeginForm("BlogInformation", ajaxOpts))
         {

            <input id="input" type="submit"   style="display: none"/>
         }
    <script id="listview-template" type="x-kendo-template">

        <button class="k-button1"   onclick="returnsubmitted()"  id="#:id#" name="but">Read More</button>
//Displaying a list    
</div>
  @(Html.Kendo().ListView<Blog>()
              .Name("listView")
              .TagName("div")
              .ClientTemplateId("listview-template")
              .DataSource(dataSource =>
              {
                  dataSource.Read(read => read.Action("Blog_Read", "Blog"));

              })
              )

<script>
    function returnsubmitted() {

        //$("input").val($("#:id#").val());//This does not pass the right value to input
       // $("#input").val($('.k-button1').attr('class').id);
        $("#input").click();
    }
</script>

//这是我的控制器

    [HttpPost]
    public ActionResult BlogInformation(string blogid)
    {
        XElement element = XElement.Load(Server.MapPath("~/App_Data/Blogs.xml"));
        IEnumerable<Blog> data = null;

        if (!string.IsNullOrEmpty(blogid))
        {
            var xElement = FindByID(blogid, element.Element("Blog")).Element("Blog");
            if (xElement != null)
            {

                data = FindByID(blogid, element.Element("Blog"))
                        .Element("items")
                        .Elements("Blog")
                        .Select(e => ToBlog(e));
            }
            else
            {
                data = element.Elements("Blog").Select(e => ToBlog(e));
            }

        }
        return View(data);
    }

0 个答案:

没有答案