簡體   English   中英

將JavaScript變量保存到ASP.NET MVC 3 Razor中的C#模型中?

[英]Saving a JavaScript var into a C# Model in ASP.NET MVC 3 Razor?

我是使用MVC 3 ASP.NET的新手,並且已經開始使用Razor視圖引擎。 我正在使用JavaScript中的API,因此將這些代碼放入了我的視野。 我還通過實體框架使用數據庫,並且正在傳遞一個簡單類的IEnumerable列表,該類包含字符串和整數作為我的模型。

我可以替換視圖中模型中的項,根據值對對象列表重新排序,並在JavaScript中使用C#模型值,但是我無法將JavaScript中計算出的值保存回視圖中,我知道這是因為我的C#代碼在服務器上運行,而JavaScript在客戶端計算機上運行。

我想知道將IEnumerable列表中每個項目的JavaScript中計算的值保存到C#模型中的最佳方法是什么,以便我可以基於該值對對象重新排序以在視圖中按順序輸出。

謝謝

您可以在視圖中設置一組隱藏的輸入,然后為其指定相關名稱。 您可以根據Java腳本中的變量設置值。 發布表單時,您可以使用相關隱藏輸入的名稱來獲取操作中的所有變量。

或者,您可以使用ajax發布或使用jquery將它們發布到您的操作中。 http://api.jquery.com/jQuery.post/

$.post("action/Controller",{var1:"1",var2:"2"},function(data){
  //this will execute after the post completed(after the server response)

})

客戶端(瀏覽器)與服務器對話的唯一方法是通過HTTP。

這意味着您可以使用<form>並提交它,也可以使用ajax。

ASP.NET MVC應該具有可靠的結構來處理Ajax請求。

還要注意,在視圖中使用JavaScript是一種不好的做法,它們應該是外部文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM