我想在加载时更改位于html文件中的字符串。例如,我有一个html文件:
<html>
<head>
<title>MyTitle</title></head>
<body>
Some Text
<script type='text/javascript'>
/*some script*/
var myString = "TargerInfo";
/*some script*/
</script>
</body>
</html>
我在代码隐藏文件中使用Page_Load
方法:
protected void Page_Load(object sender, EventArgs e)
{
/*Insert necessary snippet of code*/
}
我应该用什么代码将字符串“TargerInfo”更改为“OtherString”?
[编辑] 对不起,我忘记提了 我只能在代码隐藏类中向html页面添加任何信息,因为这个页面不是由我生成的。 我想我应该使用这样的东西:
1)加载html文件
2)找到我的字符串
3)替换它
4)发送html文件
有一个aspx页面,但我只添加了部分代码,其他代码由VS
添加答案 0 :(得分:2)
除非我遗漏了某些东西(因为这看起来像是一个ASP.NET 101),你有几个选择......
在代码隐藏中创建一个变量,然后使用它......
protected string _newText = "";
protected void Page_Load(object sender, EventArgs e)
{
_newText = "OtherString";
}
然后在ASPX中......
var myString = "<%=_newText%>";
否则您可以使用<asp:Literal>
控件
<强>更新强>
经过广泛的chat with @andDaviD后发现javascript位于SharePoint Foundation中的主页面中。
主页面通过DynamicMasterPageFile
指令中的<%@ Page
属性在其内容页面中被引用,这就是为什么他说他能够更新代码的某些部分,而不是其他部分
我仍然不确定是否可以修改母版页(由他自己或管理员修改),这是他需要从公司负责人那里找到的东西。但我相信向母版页添加属性或方法以提供他所需要的是唯一明智的选择。
答案 1 :(得分:2)
您可以使用内联aspx代码标记:
<script type='text/javascript'>
/*some script*/
var myString = "<%= getTargetInfo() %>";
/*some script*/
</script>
代码隐藏中的:
protected String getTargetInfo()
{
return "OtherString";
}
答案 2 :(得分:1)
您可以使用文字:
protected void Page_Load(object sender, EventArgs e)
{
literal.Text = string.Format("var myString = \"{0}\"", targetInfoValue);
}
标记:
<html>
<head>
<title>MyTitle</title></head>
<body>
Some Text
<script type='text/javascript'>
/*some script*/
<asp:Literal id="literal" runat="server" />
/*some script*/
</script>
</body>
</html>
答案 3 :(得分:1)
您可以将它放在asp.net的隐藏字段中,并更改后面代码中的隐藏字段。
答案 4 :(得分:0)
在您的代码中:
public string otherString;
otherString = "some text" //update the string with the value oyu want.
在aspx页面中将此行放在您想要查看otherString的任何位置。
<%=otherString%>