如何运行在C#中声明的html主体和在C#中宣布的JavaScript的加载

本文关键字:主体 加载 JavaScript html 何运行 声明 运行 | 更新日期: 2023-09-27 17:59:54

我需要创建一个函数,在其中我必须创建Html文件,在该文件中用c#编写,如

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>";

现在我不知道如何将两者联系起来。

如何运行在C#中声明的html主体和在C#中宣布的JavaScript的加载

您可能需要在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字符串中。在正文标签关闭之前检查行

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>";

这是你想要的吗??