我正在開發一個應用程序,它有很多客戶端JavaScript處理導航響應應用程序(最終由一個巨大的形式組成)周圍。在服務器端訪問客戶端變量
基本上,隨着用戶在表單中前進(即按下一個在javascript中處理客戶端的按鈕),我需要存儲用戶按下按鈕的時間戳。
當觸發按鈕事件時,我在JavaScript變量中存儲時間戳。
現在,當用戶按下表單上的提交按鈕並將POST請求發送到服務器時,我需要發送這些變量的值。
任何想法,我可以做到這一點?
我正在開發一個應用程序,它有很多客戶端JavaScript處理導航響應應用程序(最終由一個巨大的形式組成)周圍。在服務器端訪問客戶端變量
基本上,隨着用戶在表單中前進(即按下一個在javascript中處理客戶端的按鈕),我需要存儲用戶按下按鈕的時間戳。
當觸發按鈕事件時,我在JavaScript變量中存儲時間戳。
現在,當用戶按下表單上的提交按鈕並將POST請求發送到服務器時,我需要發送這些變量的值。
任何想法,我可以做到這一點?
使用隱藏輸入來存儲DateTime
值,並更新按鈕單擊事件中的值。理想情況下,根據視圖模型中的屬性生成此輸入,否則,向您添加一個附加參數以便接受日期。例如
選項1:將其他屬性添加到您的視圖模型中,例如public DateTime UserDate { get; set; }
並在視圖
@Html.HiddenFor(m => m.UserDate)
和在腳本,更新它的值
$('#UserDate').val((new Date()).toUTCString());
選項2:如果沒有額外的視圖模型屬性
<input type="hidden" id="UserDate" name="UserDate" />
和在後的方法
[HttpPost]
public ActionResult YourMethod(YourModel model, DateTime userDate)
{
使用隱藏字段應該可以解決您的問題。用你想要的時間更新JS中的隱藏字段並訪問服務器端的
你有沒有可能提供一個傳遞的代碼示例,說一個基本的價值?乾杯 – user3556163 2014-08-27 17:08:38
請檢查這個[鏈接](http://www.dotnetcurry.com/showarticle.aspx?ID=203) – 2014-08-27 17:13:44
這似乎不是MVC – user3556163 2014-08-27 17:19:14
您可以將時間戳存儲在隱藏的div中,然後檢索並通過ajax發送。或者你可以像knockoutjs這樣的數據綁定框架,甚至可以使用signalR將其立即發送回服務器。
許多方法來剝皮這隻貓。
asp在serv上運行呃,js在服務器上運行。如果你想從服務器訪問JS中的東西,你需要讓JS通過Ajax將它發送回服務器。 – 2014-08-27 16:59:01
我認爲你的意思是「js在*客戶*上運行」。 – 2014-08-27 18:19:15