gpt4 book ai didi

c# - jQuery Ajax、MVC 和查询字符串

转载 作者:行者123 更新时间:2023-11-30 21:12:34 25 4
gpt4 key购买 nike

我在 ASP.NET MVC3 网站的 View 中有以下 ajax 函数。这个函数是从页面顶部的列表中调用的,效果很好。但是我需要查询字符串中的另一个值,需要将其传递给 Controller ​​函数。我如何实现这一目标?

jQuery 函数

   function ShowDeals(itemNo) {
//get the vendor



var dialogDIV = $('<div></div>');
$.ajax(
{
url: '/Deal/Index',
type: "POST",
data: ({ toets: itemNo }),
dataType:'html',
success: function (result) {
$(dialogDIV).html(result);
$(dialogDIV).dialog({
position : [,100],
error: function (req, status, error) {
alert(error);
}
});
},
error: function (req, status, error) {
alert(error);
}
})
return false;
}

Controller Action

public ActionResult Index(int toets,string vendorNo)
{
string temp = toets.ToString();
string tempdd = Request.QueryString["vendorNo"];
//return Content("1212121212");
return PartialView();
}

toets 参数是从 ajax 函数传递的,但我现在需要 Querystring 中的 vendorNo。

谢谢

编辑:我知道我可以添加一个 javascript 函数来从查询字符串中获取值,但这是最好的方法吗?

最佳答案

您可以像传递 toets 参数一样传递它:

var vendor = $("#TheElementThatHoldsYourVendor").text();
$.ajax(
{
url: '/Deal/Index',
type: "POST",
data: ({ toets: itemNo, vendorNo: vendor }),
....
});

然后您将它作为第二个参数,您不必访问 QueryString 来获取它。

编辑
要使用 javascript 获取 url 参数,您可以使用此方法 ( from here )

function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}

然后这样调用它:

$.ajax({
...
data: { toets: itemNo, vendorNo: getUrlVars()['vendorNo'] }
...
});

关于c# - jQuery Ajax、MVC 和查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7402537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com