Jquery 如何在Web窗体视图中更改div的html,并使用代码隐藏传递的html
我正在做一个Jquery 如何在Web窗体视图中更改div的html,并使用代码隐藏传递的html,jquery,html,webforms,Jquery,Html,Webforms,我正在做一个ASP.NET Web表单项目。我有垂直菜单,应该在所有页面中显示,但我想根据我所在的页面更改菜单内容。我将通过从XML文件获取数据来实现这一点,但为了简单起见,现在我已经硬编码了HTML,我想在我的一个视图中设置它,如下所示: public partial class Default : System.Web.UI.Page { public string verticalMenu = string.Empty; protected void Page_Load(o
ASP.NET Web表单
项目。我有垂直菜单,应该在所有页面中显示,但我想根据我所在的页面更改菜单内容。我将通过从XML
文件获取数据来实现这一点,但为了简单起见,现在我已经硬编码了HTML
,我想在我的一个视图中设置它,如下所示:
public partial class Default : System.Web.UI.Page
{
public string verticalMenu = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
verticalMenu = @"<ul>
<li class='has-sub'><a href='#'><span>Products</span></a>
<ul>
<li><a href='#'><span>Product 1</span></a></li>
<li><a href='#'><span>Product 2</span></a></li>
<li class='last'><a href='#'><span>Product 3</span></a></li>
</ul>
//Some more of the same...
</ul>";
}
}
}
正确的方法是什么?在将变量写入javascript之前,必须对其进行HTML编码 如果检查生成的HTML,就会在js行中看到语法错误 编辑: 添加了带有Leron找到的函数的代码
public partial class Default :
System.Web.UI.Page
{
public string verticalMenu = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
verticalMenu = @"<ul>
<li class='has-sub'><a href='#'><span>Products</span></a>
<ul>
<li><a href='#'><span>Product 1</span></a></li>
<li><a href='#'><span>Product 2</span></a></li>
<li class='last'><a href='#'><span>Product 3</span></a></li>
</ul>
//Some more of the same...
</ul>";
JavaScriptSerializer ser = new JavaScriptSerializer();
verticalMenu = ser.Serialize(verticalMenu);
}
}
}
公共部分类默认值:
System.Web.UI.Page
{
公共字符串verticalMenu=string.Empty;
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
垂直菜单=@“
-
//还有一些相同的。。。
”;
JavaScriptSerializer ser=新的JavaScriptSerializer();
verticalMenu=序列序列化(verticalMenu);
}
}
}
我们可以通过向div提供“runat=“server”并在代码隐藏中访问div id来简单地实现这一点
作为
divid.innerHTML=“此处的html代码”
如果您在母版页中使用“div”。然后我们可以通过以下方式进入其他页面(.cs)
div
仅在Site.Master
页面中声明,默认情况下,我似乎无法从其他页面.CS
文件访问它。也许我必须添加一些内容,而不仅仅是runat=“server”
?是的,我正在搜索类似的内容。事实证明,如果我只是在HTML
字符串上使用JavaScriptSerializer
,它也可以正常工作,但如果您将答案更改为实际工作的示例,我将接受它。
Uncaught SyntaxError: Unexpected token <
public partial class Default :
System.Web.UI.Page
{
public string verticalMenu = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
verticalMenu = @"<ul>
<li class='has-sub'><a href='#'><span>Products</span></a>
<ul>
<li><a href='#'><span>Product 1</span></a></li>
<li><a href='#'><span>Product 2</span></a></li>
<li class='last'><a href='#'><span>Product 3</span></a></li>
</ul>
//Some more of the same...
</ul>";
JavaScriptSerializer ser = new JavaScriptSerializer();
verticalMenu = ser.Serialize(verticalMenu);
}
}
}
HtmlGenericControl h = Master.FindControl("divid") as HtmlGenericControl;
h.InnerHtml = "dfkjsdfklj sdklflk";