我在按钮点击中确认了两个值。当页面重定向时,2个值将通过。但在页面中我不知道如何使用查询字符串获取第二个值..
<a href="<%: Url.Action("Index", "Test", new { planId = "500" ,validity="120"}) %>"><a>
<% var value = string.Empty;
var value1 = string.Empty;
if (Request.QueryString.Count > 0)
{
value = Request.QueryString[0];
Session["PlanId"] = value;
}
else if (Request.QueryString.Count>0)
{
value1 = Request.QueryString[3];
Session["Validity"] = value1;
}%>
PlanId正在接受这个价值。但是有效性并没有带来价值..请帮我怎么做?
答案 0 :(得分:1)
还有另一种解决此问题的方法,而不是使用QueryString集合。
假设你有这样的网址 -
<a href="@Url.Action("Test", "Model" , new { planid="RAT500" ,validity="120" })">hi<a>
然后有相应的动作 -
public class ModelController : Controller
{
public ActionResult Test(string planid, string validity)
{
return null;
}
}
当您点击该链接时,您的值将显示在参数中,如下所示 -
并说你有其他QueryStrings,如下所示 -
<a href="@Url.Action("Test", "Model" , new { planid="RAT500" ,validity="120", name = "rami"})">hi<a>
然后您可以获得其他QueryString,如下所示 -
答案 1 :(得分:0)
这是else if
,因此如果第一个if
为真,则会跳过else if
。它应该如下:
<% var value = string.Empty;
var value1 = string.Empty;
if (Request.QueryString.Count > 0)
{
value = Request.QueryString[0];
Session["PlanId"] = value;
}
if (Request.QueryString.Count > 3)
{
value1 = Request.QueryString[3];
Session["Validity"] = value1;
} %>
答案 2 :(得分:0)
我不确定问题是什么,但第二次测试应该是检查计数&gt; 3,不计数&gt; 0
答案 3 :(得分:0)
QueryString可以直接通过名称编制索引 - 更容易阅读(并避免在字符串之外获取元素):
var planId = Request.QueryString["planId"];
var validity = Request.QueryString["validity"];