2011-05-26 83 views
8
@using(Html.BeginForm()) 
    { 
     <fieldset> 
    <p> 
    <label for="Title">Referans Adı</label> 
    <p> 
    @Html.TextBoxFor(Model=> Model.Name) 
    </p> 

模型的數據如何在JavaScript中使用,就像在html表單中使用的一樣?JQuery如何使用模型?

javascript可以使用像html中使用的模型數據?(如Model.Name)

回答

9

是的。剃刀可解析以下就好:

<script type="text/javascript">  
    $(document).ready(function() { 
     alert("@Model.Name"); 
    }  
</script> 
+0

「不設置到對象的實例對象引用」給出了這樣的錯誤。 – Mgnfcnt 2011-05-26 15:02:56

+0

@mgnfcnt,這意味着你的模型是空的。你是否正確設置模型? – Brandon 2011-05-26 15:04:17

+0

好的。謝謝...... – Mgnfcnt 2011-05-26 15:07:42

2

有些人喜歡你其實不應該做這種方式,而是加載模型JSON,並直接在腳本中使用這些javascsript元素,而不是剃刀語法。在編譯/設計時,剃刀分析器有時會拋出錯誤(不是在運行時,因爲我相信它只是與intellisense有關),而是在塊中包含@whatever。

+0

希望我能給這個不僅僅是+1。 – Paul 2014-05-28 14:01:49

3

如果您想要將javascript保存在單獨的.js文件中而不是您的視圖中,則可以使用隱藏字段來存儲該值。

<input type="hidden" id="name-hidden" value="@Model.Name" /> 

然後,您可以通過使用id在JavaScript中訪問它。舉例來說,在jQuery的:

$(document).ready({ 
    var $nameHidden = $('#name-hidden'); 
    alert('Old Name: ' + $nameHidden.val()); 

    $nameHidden.val('Some New Name'); 
    alert('New Name: ' + $nameHidden.val()); 
}); 
1

對我們這些誰仍然在一些老項目中使用的.aspx:

alert("<%= Model.OrderStatus %>");