我希望能夠動態地(在頁面加載)決定將其設置爲Visible=false
,所以它不會被渲染。我試過runat=server
但這隻適用於虛擬路徑。如何動態地不呈現腳本標記?
2
A
回答
2
您可以使用ClientScriptManager.RegisterClientScriptBlock或ClientScriptManager.RegisterStartupScript來有條件地添加腳本。
if (condition)
{
String csname2 = "ButtonClickScript";
Type cstype = this.GetType();
StringBuilder cstext2 = new StringBuilder();
cstext2.Append("<script type=\"text/javascript\"> function DoClick() {");
cstext2.Append("Form1.Message.value='Text from client script.'} </");
cstext2.Append("script>");
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
}
如果您有腳本,是不小的,那麼你可以把腳本中一些js文件和使用ClientScriptManager.RegisterClientScriptInclude
if (condition)
{
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptInclude("ScriptKey", "ScriptURLToInclude");
}
2
在ASP.NET標記語言,你可以操縱的渲染任何任意內容。這就是說只在某些條件下渲染腳本標記應該如此簡單:
<% if (shouldRenderScriptTag) { %>
<script src="..." />
<% } %>
+0
+1。我仍然無法決定接受哪個答案。你回答了實際問題,但Adil回答了這個根本問題。你們都值得信任。哦,好吧,在某些時候我必須決定:)再次感謝。 – ispiro
+0
@ispiro - 字面上的答案非常直截了當,我認爲這對社區來說是極其有用的。如果Adil的回答可以幫助你更好地設計代碼,我會爲他的。 – chiccodoro
相關問題
- 1. 避免HTML和腳本標記呈現
- 2. 如何動態插入腳本標記
- 3. 你如何動態地呈現在JSRender
- 4. 如何在ReactJS中呈現標記腳本
- 5. 如何在json.erb模板中呈現腳本標記
- 6. Prerender不等待動態頁面標題和元標記呈現
- 7. 性能:動態腳本注入vs服務器呈現腳本
- 8. 如何動態地呈現標題組件
- 9. primefaces動態標籤呈現
- 10. 腳本不執行動態生成的JQuery腳本標記
- 11. 如何動態呈現HTML
- 12. SVG標記不呈現
- 13. CDATA不呈現標記
- 14. c:foreach標記不呈現
- 15. 定製JSP標記不會呈現動態的主體內容
- 16. 如何在標題標記之後動態添加腳本
- 17. JQuery動態腳本標記和執行
- 18. 動態腳本標記安全
- 19. Javascript:「取消」動態腳本標記?
- 20. JavaScript動態打印腳本標記
- 21. Google地圖標記隨機呈現
- 22. 如何動態地包含PHP腳本?
- 23. 如何在選擇標記中動態地實現onchange
- 24. 如何用新標記創建動態地圖每秒出現?
- 25. 爲什麼我的腳本標記在我的身體標記之外呈現?
- 26. 所見即所得在純化後呈現的腳本標記
- 27. 我的腳本標記會影響頁面呈現嗎?
- 28. 如何從ngModel呈現HTML標記?
- 29. 如何使用自定義src動態添加腳本標記?
- 30. 如何動態替換iframe腳本標記
是否要從源代碼中刪除腳本標記? – Adil
@Adil有時候我需要它,有時候我不想渲染它。這隻會在運行時才知道。 – ispiro
檢查此鏈接http://stackoverflow.com/questions/19414829/removing-script-tags-from-html-pages-using-c-sharp – Hassan