我有一個JavaScript文件,我包括動態ASP.NET MVC視圖。這個腳本設置了一些我希望從中獲得的值和HTML助手。如何將Asp.Net Server標記添加到JS並讓它們進行評估?
以下設置js變量等於包含'<%'的字符串。應如何格式化以便在包含此文件時評估服務器標記? 謝謝!
var testPortal = ns.TestPortal;
testPortal.context = {};
testPortal.context.currentUserId = "<%= Html.GetCurrentUserId() %>";
testPortal.context.currentHwid = "<%=Model.Hwid %>";
testPortal.context.currentApplicationId = "<%= Html.GetCurrentApplicationId(Model.ProductName) %>";
更新
我試圖落實以下達林提供給我的解決方案。新動作正在運行(直接通過輸入url進行測試)。但是,當我嘗試在我的視圖上使用contentPlaceHolder創建腳本標記時,從不會調用該操作。腳本標記永遠不會添加到視圖中。
有人可以告訴我爲什麼這可能是?
<asp:Content ID="Content3" ContentPlaceHolderID="DynamicIncludes" runat="server">
<script type="text/javascript" src="<%= Url.Action("Index","Context", new{applicationName = Model.ProductName, hwid = Model.Hwid}) %>">
alert("helloo");
</script>
</asp:Content>
爲什麼上面的腳本沒有被添加?
我可以使用局部視圖來做你正在建議的內容嗎,並且不需要創建新的操作? – Nick
@Nick,否,因爲無法直接訪問視圖(部分或不)。您始終需要控制器操作來提供視圖。 –
我正在嘗試這個,但由於某種原因,新行爲似乎沒有被調用。我創建了一個名爲'context'的控制器,並擁有和稱爲'index'的操作。我在contentPlaceHolder中有以下腳本tage – Nick