【问题标题】:Editing HTML via asp.net通过 asp.net 编辑 HTML
【发布时间】:2013-02-04 20:40:45
【问题描述】:

所以我正在使用asp.net 来创建一个站点,但遇到了一些问题。我需要从 .aspx.cs 文件中编辑 html,虽然这通常不是问题,但 html 文件位于项目其他地方的模板文件夹中。我曾尝试使用 javascript,但我一直收到错误消息“无法设置属性/更改 null 类型的 innerHTML。

继续尝试用 javascript 解决这个问题会更好,还是 asp.net 有解决这个问题的方法?

另请注意:html 位于 html 文件中,而不是 .aspx 文件中,因此 asp.net 控件(例如 runat="server")不起作用。

编辑:如果当前用户不是管理员,我想要做的是隐藏一个为管理员保存导航栏的 div。

对于 javascript 修复,我尝试过 Page.RegisterStartUpScript 和 Response.Write(从 .aspx.cs 文件调用),但都给了我上述错误。我不能(据我所知)有一个 javascript 文件只是隐藏 div 而不以某种方式被 c# 调用或发起,因为我需要找出他们是否是管理员

【问题讨论】:

  • Ben,您必须编辑此文件的原因是什么。您需要以什么方式对其进行编辑?具体来说,您想要实现什么目标?
  • 不是文件,而是一些属性,如果不清楚,请见谅。
  • 有很多方法可以做到这一点。您使用的是 Web 表单还是 MVC?
  • 我会说通过 javascript 来做,但由于你隐藏了管理功能,我会在服务器端做。您是否可以选择仅制作第二个管理模板并根据用户拉入不同的 html 文件?
  • 您是否尝试在某些基于服务器的操作中获取和修改此内容?我认为,您确实需要在问题中包含更多细节。

标签: c# asp.net


【解决方案1】:

您需要做的是将 HTML 文档转换为 .aspx 文件,并将其包含在要使用的其他文档中(参考 http://www.mikesdotnetting.com/Article/144/Classic-ASP-Include-Files-in-ASP.NET)。然后,您可以在后面的代码中引用该控件,使用您可以使用的任何方法来确定用户是否已登录。例如:

if (Security.IsLoggedIn())
{
  myIncludeFile.Visible = true;
}
else
{
  myIncludeFile.Visible = false;
}

这对你有意义吗?

【讨论】:

  • 这是最明显的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2020-01-27
  • 1970-01-01
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多