http://localhost:49397/ChildCare/SponsorChild/83
如何隱藏URL的參數在MVC4
這是鏈接,當我在表上的操作鏈接點擊並重定向到編輯動作,現在我想隱藏的號碼「83」正在產生我怎樣才能達致這網址,
我使用VS2010 MVc4剃鬚刀, 對不起,是我不好engllish 感謝提前,如果你使用環節的工作
http://localhost:49397/ChildCare/SponsorChild/83
如何隱藏URL的參數在MVC4
這是鏈接,當我在表上的操作鏈接點擊並重定向到編輯動作,現在我想隱藏的號碼「83」正在產生我怎樣才能達致這網址,
我使用VS2010 MVc4剃鬚刀, 對不起,是我不好engllish 感謝提前,如果你使用環節的工作
,鏈接發送通過GET
請求到服務器,然後參數在url中。你可能有兩種選擇:
1 - 參數必須是像data-id="83"
data
屬性,然後創建一個表格郵寄發送數據,並與屬性data-x
創建標籤input
,例如:
<a href="my/url" data-id="83> link </a>
然後你需要創建表格的javascript:
<form method="POST" action="my/url">
<input value="83 name="id" type="hidden" />
</form>
並運行JS的形式提交事件,如:jQuery('form').submit()
2 - 你可以加密,然後解密得到的控制器參數:How to encrypt and decrypt data in MVC?
編輯
舉例點之一:
HTML:
<div id="container-generic-form" style="display:none;">
<form action="" method="POST"></form>
</div>
<a href="my/url" data-id="83" data-other="blue" class="link-method-post">my link</a>
JS:
$(function() { // document ready
var controlAnchorClickPost = function(event) {
event.preventDefault(); // the default action of the event will not be triggered
var data = $(this).data(),
form = $('#container-generic-form').find('form');
for(var i in data) {
var input = $('<input />', {
type: 'hidden',
name: i
}).val(data[i]);
input.appendTo(form);
}
form.submit();
};
$('a.link-method-post').on('click', controlAnchorClickPost); //jquery 1.7
});
感謝回覆,在給定的鏈接找到答案,我不怎麼處理data-attributes.i使用Encoding.UTF8.GetBytes()編碼,解碼方法。再次感謝 – Gowtham 2013-04-20 07:58:01
@ user2032722我爲你解釋了第一點的例子 – 2013-04-20 15:26:43
我們用了兩頁一樣,隱藏變量
public ActionResult RestoreSavedSession(string id)
{
Session["RestoreSavedSession"] = id;
return RedirectToAction("RestoreSavedSessionValidation");
}
public ActionResult RestoreSavedSessionValidation()
{
return View("RestoreSavedSessionValidation");
}
你打RestoreSavedSession
那麼它需要參數存儲在本地,並調用RestoreSavedSessionValidation
它從Session或Cache或任何讀取參數。
這是一個不錯的簡單解決方案,我想。 – 2018-02-03 22:53:11
使用黑魔法 – Kowser 2013-02-12 06:49:06
感謝您的快速回復,能否詳細解釋我 – Gowtham 2013-02-12 06:51:57
使用POST而不是GET – David 2013-02-12 08:10:17