我需要使用javascript函数来显示和隐藏页面上的元素,但是在C#方法中调用它.这可能吗?
编辑:我尝试过RegisterStartupScript(见下文),但这并没有像我希望的那样隐藏元素:
HidePopup("CompanyHQSetup", "$('#<%=DivDataProvider.ClientID %>').hide();$('#<%=modalOverlay.ClientID %>').hide();");
private void HidePopup(string Key, string jscript)
{
string str = "";
str += "<script language='javascript'>";
str += jscript;
str += "</script>";
RegisterStartupScript(Key, jscript);
}
Run Code Online (Sandbox Code Playgroud)
编辑:通过使用隐藏字段布尔来确定是否隐藏或显示元素
是的,请查看RegisterClientScriptBlock.
这是从该链接获取的片段:
public void Page_Load(Object sender, EventArgs e)
{
// Define the name and type of the client script on the page.
String csName = "ButtonClickScript";
Type csType = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the client script is already registered.
if (!cs.IsClientScriptBlockRegistered(csType, csName))
{
StringBuilder csText = new StringBuilder();
csText.Append("<script type=\"text/javascript\"> function DoClick() {");
csText.Append("Form1.Message.value='Text from client script.'} </");
csText.Append("script>");
cs.RegisterClientScriptBlock(csType, csName, csText.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)