Asp.net 无法获取querystring参数的值
我在控制器中编写了一个方法。我将值作为querystring传递给此控制器。该控制器方法的示例url为: window.location=“” 我的控制器方法具有以下定义:Asp.net 无法获取querystring参数的值,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我在控制器中编写了一个方法。我将值作为querystring传递给此控制器。该控制器方法的示例url为: window.location=“” 我的控制器方法具有以下定义: [AcceptVerbs(HttpVerbs.Get)] public ActionResult Enter( string legacySessionId, string RedirectPath, string siteSubdoma
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Enter(
string legacySessionId,
string RedirectPath,
string siteSubdomain = "",
bool isDuplicate = false,
int id = 0
)
在这个控制器方法中,当我为RedirectPath获取querystring值时,它只给出:
RedirectPath="/Folio/OfflineDocument/EnqueueDocumentGenerationRequest/?FolderId=acf7egfsc0clz6ei"
鉴于预期结果是:
RedirectPath="/Folio/OfflineDocument/EnqueueDocumentGenerationRequest/?FolderId=acf7egfsc0clz6ei&CourseId=vhvgyhgvhgvyy7yty"
它缺少“CourseId”部分。有人能指出这个问题吗?您必须对符号和字符进行编码:
& ==> &
将是:
window.location=”http://www.myapplication.org/Session/Enter?legacySessionId=fjD0pMTFTPFf6MgJZT0&RedirectPath=/Folio/OfflineDocument/EnqueueDocumentGenerationRequest/?FolderId=acf7egfsc0clz6ei&;CourseId=vhgyhgvyy7yty“
&
是url中参数的分隔符。如果此字符是值的一部分,则必须对其进行编码。您需要在参数中转义和。只需对参数值进行编码
window.location = "http://localhost:13203/Home/Enter?legacySessionId=fjD0pMTFTPFf6MgJZT0&RedirectPath="
+ encodeURIComponent("/Folio/OfflineDocument/EnqueueDocumentGenerationRequest/?FolderId=acf7egfsc0clz6ei&CourseId=vhvgyhgvhgvyy7yty");