2014-10-08 60 views
1

我有以下的jQuery函數:的Jquery在@Model新增項目,我得到了來自HTML inputfield

$(document).ready(function() { 
     $(".UrlButton").click(function() { 
      alert('button clicked');    
      var item = $(".UrlField").val(); 
      @Model.Urls.Add(item);   
     }); 
    }); 

以下的按鈕

 <input type="text" class="UrlField" /> 
     <button type="button" class="UrlButton">+</button> 

我試圖將項目添加到@ Model.Urls,它只是一個字符串。

但與上面的例子我不能添加項目,因爲'它不在當前的情況下excin'。

如何通過使用Jquery並從HTML輸入字段獲取項目來添加某些內容到我的模型中?

謝謝!

+0

var'item'無法添加到Model.Urls – 2014-10-08 22:30:13

回答

1

你不能。所述Model存在於不同的時間JavaScript的環境,因爲它們是在HTTP管道

HTTP管道的不同部分爲MVC基本如下

  1. 全球ASAX接收請求
  2. 全球ASAX將請求路由到控制器
  3. 控制器爲響應構建數據
  4. 該視圖從控制器填充任何數據並傳輸響應(這是的例外情況是,因爲item不存在服務器端)

的響應基本上是.html文件一次流的組成。這是服務器參與的結束,這是Model的對象生存期的結束。

從這一點開始,瀏覽器開始呈現響應。渲染引擎解析html,包括其腳本樣式和佈局,並構建文檔對象模型。

此時,DOM包含您正在分配事件處理程序的元素。這距離Model一生的原始點非常遠。

爲了仍然可以訪問Model中的數據,應將數據序列化爲JSON,然後存儲在客戶端環境中以供使用。

爲了修改Model中包含的數據,必須進行ajax調用。

+0

所以這意味着我將不得不尋找另一種方式,我猜... = S – 2014-10-08 22:39:28

+0

感謝您的解釋! – 2014-10-08 22:40:36

相關問題