我感覺有點困惑,感覺這應該是簡單的死亡。 (ASP.NET MVC3)將查詢參數添加到當前url客戶端
我們有一個Action,名爲「Product/List」。 我們在頁面上也有一個文本框,稱爲「到期日期」。 現在,如果它是空白的,我們不會使用它,如果它被填充,我們選擇帶有到期日期的產品。
根據選定的失效日期,還有一個「更新頁面」按鈕。
這需要添加到查詢字符串(或替換),這似乎很簡單;
$(button).bind('click', ...
window.location.href = '@Url.Action(...)?ExpiryDate=' + ExpiryDate;
)
它的作品,但對我來說,這看起來很糟糕,並且使新參數的添加真的很煩人。
我們不能使用@Url.Action(..., new { ExpiryDate=... })
,因爲這需要在使用文本框後完成客戶端。
而且,此外,我們不要想要使用一個提交按鈕和一個HttpPost動作;這不是一個帖子,它是視圖的更新(加上它打破了瀏覽器的歷史)。
最有可能我失去了一些東西;最好的辦法是什麼?
客戶端模板引擎對於這類事情來說非常棒。您可以將MVC Ajax表單發送到服務器的請求,並且服務器可以響應一些JSON。然後,客戶端模板引擎(knockout.js,mustache.js等)可以將結果直接與產品詳細信息(或使用您需要的查詢字符串參數的隱藏輸入)綁定到主窗體中。 –
是的,謝謝,但我想要正確的網址,所以用戶可以給頁面添加書籤等。 – NiklasJ