-1

我想在加载时更改 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添加

4

5 回答 5

2

除非我遗漏了一些东西(因为这看起来有点像 ASP.NET 101),否则你有几个选择......

在代码隐藏中创建一个变量,然后使用它...

protected string _newText = "";
protected void Page_Load(object sender, EventArgs e)
{
   _newText = "OtherString";
}

然后在 ASPX...

var myString = "<%=_newText%>";

否则你可以使用<asp:Literal>控件

更新

在与@andDaviD 进行了广泛的交谈后,事实证明 javascript 位于 SharePoint Foundation 中的母版页中。

DynamicMasterPageFile母版页通过指令中的属性在他的内容页面中被引用<%@ Page,这就是为什么他说他能够更新代码的某些部分,但不能更新其他部分。

我仍然不确定是否可以修改母版页(由他自己或管理员),这是他需要从他公司的负责人那里找到的东西。但我相信向母版页添加属性或方法以提供他需要的内容是唯一明智的选择。

于 2012-06-21T12:51:24.470 回答
2

您可以使用内联 aspx 代码标签:

<script type='text/javascript'>
/*some script*/
var myString = "<%= getTargetInfo() %>";
/*some script*/
</script>

在代码隐藏中:

protected String getTargetInfo()
{
    return "OtherString";
}
于 2012-06-21T12:52:05.403 回答
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>
于 2012-06-21T12:50:46.980 回答
1

您可以将它放在 asp.net 中的隐藏字段中,并在后面的代码中更改隐藏字段。

于 2012-06-21T12:51:36.637 回答
0

在你后面的代码中:

public string otherString;


otherString = "some text"  //update the string with the value oyu want.

在 aspx 页面中,将此行放在您想看到 otherString 的任何地方。

<%=otherString%>
于 2012-06-21T12:55:30.690 回答