C# 使用参数在JQuery中构建链接的最佳方法

C# 使用参数在JQuery中构建链接的最佳方法,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,对JQuery、MVC和webdevelopment都是全新的。 我现在正试图实现这一点,并要求提供一些建议: 我基本上是在尝试构建一个包含4个输入元素和1个输出元素的过滤器 我的页面中有4个选择(下拉)元素。一旦其中一个被更改,我需要构建一个href并获取带有返回值的部分视图 我现在的问题是,我是否应该尝试在select元素中构建href,或者我是否可以在jquery中只构建一次,并且不必有重复的代码。我将如何实现这一点?您当然可以在jQuery中以您所期望的模块化方式完成一次。比如: $('

对JQuery、MVC和webdevelopment都是全新的。 我现在正试图实现这一点,并要求提供一些建议:

我基本上是在尝试构建一个包含4个输入元素和1个输出元素的过滤器

我的页面中有4个选择(下拉)元素。一旦其中一个被更改,我需要构建一个href并获取带有返回值的部分视图


我现在的问题是,我是否应该尝试在select元素中构建href,或者我是否可以在jquery中只构建一次,并且不必有重复的代码。我将如何实现这一点?

您当然可以在jQuery中以您所期望的模块化方式完成一次。比如:

$('select').bind('change',function(e){
    // Our select changed. Send it's selected option's value onwards...
    getView(this.options[this.selectedIndex].value);
});
然后,在其他地方:

function getView(url){
    $.ajax( url : '/your/url/' + url, success : function(){ }, error : function(){ });
}

基本上,将URL片段存储为下拉列表中选项的值。观察更改事件并发出相应的请求。您可以根据需要将其模块化(我会将URL存储为常量,将整个内容设置为模块等),但这是一个很好的起点。

每个下拉列表应该是
class=“FilterSelect”
或类似的内容

当它们中的任何一个发生变化时,它会向一个URL发出请求,该URL需要在一个可供所有用户使用的上下文中指定

下面的伪代码应该给出一个想法:

$('.FilterSelect').change(function()
{
    var data = {} // you need to get the selected items of each dropdown somehow
    $.get($(this).parents('#FilterContainer').attr('href'), data, function(response)
    {
        $('#ContentArea').html(response);
    }
});
请注意:您不应该在jQuery中构建URL,因为客户端逻辑不应该关注构建与服务器端路由相对应的URL所需的规则


",还要注意:我甚至不知道这是否是有效的jQuery
.parents(“#FilterContainer”)

您能提供输入和输出的示例吗?我们无法想象您在屏幕上看到了什么。。这肯定会回答你的问题是的,很抱歉!我甚至没有时间更新,直到我偶然得到了一个好的答案。下次我会提供更多的上下文。谢谢你的提示!:)非常感谢你的回答!:)这是有效的,但是$.get($(“#FilterContainer”)…会让您更快地到达那里。@ajm-非常好的观点。当您输入的速度比您想象的快时,会发生上述情况!