這是我的JavaScript函數:Url.Action:是否有一個解決方案的URL太長?
function myFunction() {
var grid = $('#GridName').data('tGrid');
var data = JSON.stringify(grid.data);
var window = $('#Window').data('tWindow');
window.content('<%= Resources.Global.Loading %>');
window.contentUrl = '<%= Url.Action("MyMethod", "MyController") %>' + '?data=' + data;
...
}
它得到的網格數據,把它變成一個字符串,並且將其作爲一個參數的MyMethod。
不幸的是,數據是一個很長的字符串,此功能不起作用。我試過發送子字符串,確實有一個字符數的截止點。
是否有解決這個限制的方法,或者採取不同的方式來做到這一點?
謝謝!我的評論的
你能'數據POST'到服務器,得到響應,然後填充結果在任何'tWindow'是允許它加載URL本身,而不是? –
(缺乏經驗)我會怎麼做呢?我的頁面和窗口有兩個不同的視圖模型 – Chris
您可以使用AJAX發佈到該Url,然後在響應回調中:(1)捕獲視圖HTML,(2)嘗試使用'window.content替換窗口HTML (響應);'。網上有很多關於使用AJAX的教程(本地或通過像jQuery這樣的庫),所以我會把它作爲練習的一部分。爲什麼這會工作?允許'POST'向服務器提交更多的數據,而不是通過'GET'發送的數據(URL參數是'GET'請求的一部分,'POST'將數據編碼爲請求頭部分的一部分)。 –