首页 新闻 搜索 专区 学院

Asp.net mvc中Ajax.ActionLink怎么传递其他标签的值

0
悬赏园豆:30 [已解决问题] 解决于 2013-12-27 13:03

通常情况下 

@Ajax.ActionLink("删除", "Delete", new { data= “data"}, new AjaxOptions { UpdateTargetId = "Info" })

传递固定的值。

但是目前需要data获取其他标签的值,然后传递到后台。如:

<input type="text"/>或者一个文本框用户输入的值。其实ajax很好实现这个。js获得属性就可以了。但是既然学MVC就想弄明白了。希望大家指教。

大芝麻的主页 大芝麻 | 初学一级 | 园豆:4
提问于:2013-12-26 22:46
< >
分享
最佳答案
0

感觉@Ajax.ActionLink 在循环遍历Model用的时候比较靠谱,之前 就把参数给他绑定好,你这种方法获取值 我也没想到办法,不知道是否有其他高手了。

收获园豆:30
aehyok | 小虾三级 |园豆:1012 | 2013-12-27 09:53

是呢,一般来说是这么做的。其实用Ajax.beginform也可以提交文本框临时输入的内容.

但是是为了实现一个检测编号是否已存在的功能,总不能提交整个表单那么麻烦。只想异步检测一下并反馈编号是否可用

大芝麻 | 园豆:4 (初学一级) | 2013-12-27 11:24

@大芝麻: 直接用个 <a href=""  onclick="Test()">检测</a>  

<script>

  function Test()

  {

    ///ajax检测  

  }

</script>

这样就可以通过js或者jQuery进行获取控件的值了

aehyok | 园豆:1012 (小虾三级) | 2013-12-27 11:27

@aehyok: 这个确实完全可行的,但更希望用mvc的那套异步传输方法来实现。

网上有人说用onbegain来实现。但是没看明白。大侠闲暇的时候帮忙瞅瞅

http://social.msdn.microsoft.com/Forums/pt-BR/6ecc12f2-06df-473d-951f-ca3221874660/mvcajaxactionlink?forum=236

大芝麻 | 园豆:4 (初学一级) | 2013-12-27 11:32

@大芝麻: http://www.cnblogs.com/aehyok/archive/2013/03/30/2989393.html  Ajax.BeginForm 提交的时候, onbegin就是你点击链接的时候先执行的Javascript函数,在Js中你就可以随便调用控件值。而你这里只是检测,通过onbegin处理了之后,你还调用"Delete" 这个Action一次,太多余了。感觉还是不要用这种方式进行检测。

aehyok | 园豆:1012 (小虾三级) | 2013-12-27 11:45

@aehyok: 算了,就直接用原石ajax实现,封装的东西用起来一点也不灵活。谢谢啦

大芝麻 | 园豆:4 (初学一级) | 2013-12-27 13:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册