簡體   English   中英

如何運行在C#中聲明的html主體和在C#中聲明的JavaScript的負載?

[英]How to run load of html body declared in C# and JavaScript declared in C#?

我需要創建一個函數,其中必須創建用c#編寫的HTML文件,如下所示

string strHTMLGrid = "";
strHTMLGrid = strHTMLGrid + "<body id='body1'  onload='OpenCube()'>";
strHTMLGrid = strHTMLGrid + "<h1>" + sHeading + "</h1>";
strHTMLGrid = strHTMLGrid + "<div id='EVObject_xml' style='margin: 0px; position: absolute; top: 12px; left: 0px; bottom: 0px; right: 0px; '>";
strHTMLGrid = strHTMLGrid + "<object name='EVObject' width='100%' height='100%' id='EVObject' codebase='" + sUrlHtml + "' lang='en-US' classid='clsid:80AC1200-0BBE-499A-A9E9-5F334DBC8E89'>";
strHTMLGrid = strHTMLGrid + "<param name='Server' value='" + sServername1 + "'>";
strHTMLGrid = strHTMLGrid + "<param name='Server' value='" + sTheme1 + "'>";
strHTMLGrid = strHTMLGrid + "<param name='Server' value='" + sHeading + "'>";
strHTMLGrid = strHTMLGrid + "</object>";
strHTMLGrid = strHTMLGrid + "</div>";
strHTMLGrid = strHTMLGrid + "<div id='ribbon'>";
strHTMLGrid = strHTMLGrid + "<div id='backstage - container'> </div>";
strHTMLGrid = strHTMLGrid + "</div>";
strHTMLGrid = strHTMLGrid + "</body>";

在這種情況下,我已在加載時聲明了一個名為opencube()的函數,我需要在主體加載時在c#中調用它

    string jScriptValidator;
    jScriptValidator = "<script> function OpenCube()" + "\n";
    jScriptValidator = "<script> { \n";
    jScriptValidator += "EVObject.Enable(UIAuthorisationType.UIAuthorisationToolbar, true); \n ";
    jScriptValidator += "EVObject.Enable(UIAuthorisationType.UIAuthorisationTabBar, true); \n";
    jScriptValidator += "EVObject.TabBarPosition = TabBarPositionType.TabBarPositionBottom; \n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.UIAuthorisationToolbarText, false); \n";
    jScriptValidator += "EVObject.ToolBar.LargeButtons = false; \n";
    jScriptValidator += "EVObject.Enable(UIAuthorisationType.UIAuthorisationLocalViews, false)\n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.ActionAuthorisationDataEntry, false);\n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.ActionAuthorisationSaveView, true);\n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.ActionAuthorisationExport, true);\n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.ActionAuthorisationExportToExcel, true);\n";
    jScriptValidator += "EVObject.ViewLocations = 'General =/';\n";
    jScriptValidator += "EVObject.object.attachEvent('NeedDataSourceCredentials', DataSourceCredentials); \n";
    jScriptValidator += "EVObject.Enable(EVObject.object.attachEvent('NeedServerCredentials', ServerCredentials);\n";
    jScriptValidator += "EVObject.Views.Open('/ Outdb / mis');\n";
    jScriptValidator += " LeaveBackstage(); \n";
    jScriptValidator += "ExpandRibbons(false); \n";
    jScriptValidator += "ShowBackstage(false); \n";
    jScriptValidator += " } </script>";

現在我不知道如何連接他們兩個。

您可能需要在html字符串中插入包含腳本的字符串。 為此,首先聲明腳本字符串:

我相信您已經兩次聲明了script標簽的打開,也許您還需要添加document.ready函數,以便在HTML加載后腳本能夠正確執行。

   string jScriptValidator;
    jScriptValidator = "<script> function OpenCube()" + "\n";
    jScriptValidator = "<script> { \n";
    jScriptValidator += "EVObject.Enable(UIAuthorisationType.UIAuthorisationToolbar, true); \n ";
    jScriptValidator += "EVObject.Enable(UIAuthorisationType.UIAuthorisationTabBar, true); \n";
    jScriptValidator += "EVObject.TabBarPosition = TabBarPositionType.TabBarPositionBottom; \n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.UIAuthorisationToolbarText, false); \n";
    jScriptValidator += "EVObject.ToolBar.LargeButtons = false; \n";
    jScriptValidator += "EVObject.Enable(UIAuthorisationType.UIAuthorisationLocalViews, false)\n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.ActionAuthorisationDataEntry, false);\n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.ActionAuthorisationSaveView, true);\n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.ActionAuthorisationExport, true);\n";
    jScriptValidator += "EVObject.Allow(ActionAuthorisationType.ActionAuthorisationExportToExcel, true);\n";
    jScriptValidator += "EVObject.ViewLocations = 'General =/';\n";
    jScriptValidator += "EVObject.object.attachEvent('NeedDataSourceCredentials', DataSourceCredentials); \n";
    jScriptValidator += "EVObject.Enable(EVObject.object.attachEvent('NeedServerCredentials', ServerCredentials);\n";
    jScriptValidator += "EVObject.Views.Open('/ Outdb / mis');\n";
    jScriptValidator += " LeaveBackstage(); \n";
    jScriptValidator += "ExpandRibbons(false); \n";
    jScriptValidator += "ShowBackstage(false); \n";
    jScriptValidator += " } </script>";

獲得腳本標簽后,您可以將其插入html字符串中。 在body標簽關閉之前檢查一下行

string strHTMLGrid = "";
strHTMLGrid = strHTMLGrid + "<body id='body1'  onload='OpenCube()'>";
strHTMLGrid = strHTMLGrid + "<h1>" + sHeading + "</h1>";
strHTMLGrid = strHTMLGrid + "<div id='EVObject_xml' style='margin: 0px; position: absolute; top: 12px; left: 0px; bottom: 0px; right: 0px; '>";
strHTMLGrid = strHTMLGrid + "<object name='EVObject' width='100%' height='100%' id='EVObject' codebase='" + sUrlHtml + "' lang='en-US' classid='clsid:80AC1200-0BBE-499A-A9E9-5F334DBC8E89'>";
strHTMLGrid = strHTMLGrid + "<param name='Server' value='" + sServername1 + "'>";
strHTMLGrid = strHTMLGrid + "<param name='Server' value='" + sTheme1 + "'>";
strHTMLGrid = strHTMLGrid + "<param name='Server' value='" + sHeading + "'>";
strHTMLGrid = strHTMLGrid + "</object>";
strHTMLGrid = strHTMLGrid + "</div>";
strHTMLGrid = strHTMLGrid + "<div id='ribbon'>";
strHTMLGrid = strHTMLGrid + "<div id='backstage - container'> </div>";
strHTMLGrid = strHTMLGrid + "</div>";
strHTMLGrid = strHTMLGrid + jScriptValidator;
strHTMLGrid = strHTMLGrid + "</body>";

這就是你想要的嗎?

暫無
暫無

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

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