Asp.net 如何使用AjaxBeginForm将单击按钮的id传递给控制器?
在asp.net mvc3应用程序中,我将@Ajax.BeginForm()与KendoUI ListView一起使用。KendoUI列表视图显示项目列表,每个项目都有一个按钮。 我的要求是,单击submit按钮后,我需要将单击按钮的id发送给控制器,并返回项目的完整信息。 我的方法是对所有按钮使用onclick功能来触发AjaxBeginForm提交输入,但AjaxBeginForm提交输入似乎没有将正确的值传递给控制器, 我怎样才能做到这一点Asp.net 如何使用AjaxBeginForm将单击按钮的id传递给控制器?,asp.net,asp.net-mvc,kendo-ui,ajaxform,Asp.net,Asp.net Mvc,Kendo Ui,Ajaxform,在asp.net mvc3应用程序中,我将@Ajax.BeginForm()与KendoUI ListView一起使用。KendoUI列表视图显示项目列表,每个项目都有一个按钮。 我的要求是,单击submit按钮后,我需要将单击按钮的id发送给控制器,并返回项目的完整信息。 我的方法是对所有按钮使用onclick功能来触发AjaxBeginForm提交输入,但AjaxBeginForm提交输入似乎没有将正确的值传递给控制器, 我怎样才能做到这一点 <pre> //My Aj
<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>
//我的Ajax表单
var ajaxOpts=新的AjaxOptions
{
HttpMethod=“POST”,
UpdateTargetId=“画廊”,
InsertionMode=InsertionMode.Replace,
OnBegin=“OnBeginT1”,
};
@使用(Ajax.BeginForm(“BlogInformation”,ajaxOpts))
{
}
阅读更多
//显示列表
@(Html.Kendo().ListView())
.Name(“列表视图”)
.TagName(“div”)
.ClientTemplateId(“listview模板”)
.DataSource(DataSource=>
{
Read(Read=>Read.Action(“Blog_Read”,“Blog”);
})
)
函数returnsubmitted(){
//$(“input”).val($(“#:id#”).val());//这不会将正确的值传递给input
//$(“#输入”).val($('.k-button1').attr('class').id);
$(“#输入”)。单击();
}
//这是我的控制器
[HttpPost]
公共操作结果BlogInformation(字符串blogid)
{
XElement元素=XElement.Load(Server.MapPath(“~/App\u Data/Blogs.xml”);
IEnumerable数据=null;
如果(!string.IsNullOrEmpty(blogid))
{
var-xElement=FindByID(blogid,element.element(“Blog”)).element(“Blog”);
if(xElement!=null)
{
data=FindByID(blogid,element.element(“Blog”))
.要素(“项目”)
.Elements(“博客”)
。选择(e=>ToBlog(e));
}
其他的
{
data=element.Elements(“Blog”)。选择(e=>ToBlog(e));
}
}
返回视图(数据);
}
[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);
}