2013-08-27 65 views
0

我的動作鏈接是提交工作不因特殊字符

<a href="@Url.Action("Edit", "UserProfile", new { id= Server.UrlEncode(item.UserCd) })"</a> 

樣品ID =測試\西蒙

隨着編碼,我的URL看起來像這樣

http://localhost/Home/UserProfile/Edit/Testing%5Simon 

它工作顯示正常,但是當點擊提交時,頁面提示出HTTP錯誤404.0 - 未找到,我檢查錯誤,它看到網絡已經改變了它取數據的方式

Requested URL http://localhost:80/Home/UserProfile/Edit/Testing/Simon 

我不能夠調試它,因爲它從來沒有去控制方法

如何應付這件事情?

+0

在你的山姆您是否指「測試/ Simon」或者是否確實將反斜槓改爲正斜槓? – asymptoticFault

+0

是的,它將其改爲正斜槓,不知道爲什麼,並使我的提交失敗 – Se0ng11

+0

如果取出'Server.UrlEncode'並將ID設置爲'item.UserCd',該怎麼辦? – asymptoticFault

回答

0

猜routeconfig是asp.net MVC的淨

routes.MapRoute(
       name: "userProfile", 
       url: "UserProfile/Edit/{id}/{id1}", 
       defaults: new { controller = "UserProfile", action = "Edit", id = UrlParameter.Optional, id1 = UrlParameter.Optional } 
      ); 

我創建,因爲這路線的主要核心,研究後,通過不同的例子,不知道這是正確的方式

我拿出從代碼的編碼和解碼

<a href="@Url.Action("Edit", "UserProfile", new { id=item.UserCd })" ></a> 

它做工精細現在