通常情况下
@Ajax.ActionLink("删除", "Delete", new { data= “data"}, new AjaxOptions { UpdateTargetId = "Info" })
传递固定的值。
但是目前需要data获取其他标签的值,然后传递到后台。如:
<input type="text"/>或者一个文本框用户输入的值。其实ajax很好实现这个。js获得属性就可以了。但是既然学MVC就想弄明白了。希望大家指教。
感觉@Ajax.ActionLink 在循环遍历Model用的时候比较靠谱,之前 就把参数给他绑定好,你这种方法获取值 我也没想到办法,不知道是否有其他高手了。
是呢,一般来说是这么做的。其实用Ajax.beginform也可以提交文本框临时输入的内容.
但是是为了实现一个检测编号是否已存在的功能,总不能提交整个表单那么麻烦。只想异步检测一下并反馈编号是否可用
@大芝麻: 直接用个 <a href="" onclick="Test()">检测</a>
<script>
function Test()
{
///ajax检测
}
</script>
这样就可以通过js或者jQuery进行获取控件的值了
@aehyok: 这个确实完全可行的,但更希望用mvc的那套异步传输方法来实现。
网上有人说用onbegain来实现。但是没看明白。大侠闲暇的时候帮忙瞅瞅
http://social.msdn.microsoft.com/Forums/pt-BR/6ecc12f2-06df-473d-951f-ca3221874660/mvcajaxactionlink?forum=236
@大芝麻: http://www.cnblogs.com/aehyok/archive/2013/03/30/2989393.html Ajax.BeginForm 提交的时候, onbegin就是你点击链接的时候先执行的Javascript函数,在Js中你就可以随便调用控件值。而你这里只是检测,通过onbegin处理了之后,你还调用"Delete" 这个Action一次,太多余了。感觉还是不要用这种方式进行检测。
@aehyok: 算了,就直接用原石ajax实现,封装的东西用起来一点也不灵活。谢谢啦