簡體   English   中英

將參數傳遞給URL ASP.NET MVC

[英]Passing Parameter to URL ASP.NET MVC

我只是想知道將參數傳遞到包含您不希望傳遞給URL的字符的URL的最佳實踐是什么。 例如,我將字符串/LM/W3SVC/7/ROOT傳遞到URL中,但我希望不帶反斜杠地傳遞它,因此就像LMW3SVC7ROOT

我目前的方式是使用.Replace() 這是我當前使用的完整代碼行<a href="@Url.Action("Errors", new { id=item.Application.Replace("/", "").Replace(".", "")})"> @Html.DisplayFor(modelItem => item.Application) </a>可以正常工作,但會<a href="@Url.Action("Errors", new { id=item.Application.Replace("/", "").Replace(".", "")})"> @Html.DisplayFor(modelItem => item.Application) </a>發出警告,所以我只是想知道這是否是實現它的正確方法。

'Possible unintended reference comparison; to get a value comparison, cast the right hand side to type 'string'

提前致謝。

您遇到的問題來自var queryString = RouteData.Values["id"]; 如果您在Visual Studio中查看並將鼠標懸停在var ,它將告訴您該特定var的類型,在這種情況下為Object

嘗試:

var queryString = RouteData.Values["id"].ToString();

在這種情況下,您發現自己不得不替換字符串中的某些字符,這可能意味着服務器端,您可能不得不做一些額外的邏輯來應對,而不必在接收到的字符串上包含這些字符。 在您的視圖中,只需將id包裝在Url.Encode

id = Url.Encode(item.Application)

您將收到帶有解碼字符串的服務器端,即/LM/W3SVC/7/ROOT

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM