如何自定义超链接在客户端在ASP.NET MVC
我需要能够做两件事JavaScript或JQuery的,不涉及第三方的开源库:如何自定义超链接在客户端在ASP.NET MVC
使用一个jQuery或Javascript函数来填充链接的HREF属性。
执行文本框或组合框的HTTP GET或POST操作的OnUpdate(使用javascript函数上述指定HTTP目标)
最终的结果将被超链接发布到控制器外观与此类似:
http://mydomain/addresses/1?order=name&state=ca
控制器将返回一个新的页面,按名称排序并在加利福尼亚州进行过滤。
对此提出建议?
如果你有2个文本框,并与URL的超链接,你可以试试:
$(document).ready(function() {
$('a#yourHyperLinkId').click(function(event) {
event.preventDefault();
var url = $(this).attr('href');
var order = $('input#order').val();
var state = $('input#state').val();
$.get(url, { order: order, state: state }, function(response) {
$('div#yourDivForResponse').html(response);
});
});
});
我不知道我跟......
为什么你需要填写,如果你打算使用jQuery无论如何做回发的链接的href?
答案这里的一些要素:Passing Javascript variable to <a href >
如果要加载的窗口控制器的响应,你可以使用形式,其制作的行动。如果没有,您可以使用iframe作为目标添加到表单或使用XHR对象。无论您选择哪种解决方案,都会将其链接到文本框或组合框的onchange事件。
我喜欢document.getElementById(“link2”)。setAttribute(“href”,strLink); – 2009-06-10 15:28:57
感谢小伙子们指着我在正确的方向。
答案#1:
document.getElementById("link2").setAttribute("href",strLink);
答到#2(或多或少):
$("#mySelect").change(function() {
document.location = this.value;
});
如果jQuery将做到这一点,我很冷静这一点。 – 2009-06-10 15:24:44
是的,它会 - 只是创建网址,或者只是重定向窗口的完整回发,或者使用JQuery的Ajax调用回发数据和更新相关元素。 这听起来像你说的URL将取决于用户的行为而改变?如果不是这种情况,则直接在服务器端渲染URL。 – Leather 2009-06-10 15:36:07