我有可变的URL字符串,从外部JSON块读取到后面的C#代码中。
然后我在表格中创建可点击的按钮,需要打开一个新窗口并启动这些URL。它们保存在对象的字符串变量中。
但是,我找不到在aspx端创建一个函数的方法,它在click上打开一个窗口并使用URL字符串。
目前我正在为按钮添加属性
Button b = new Button();
b.Attributes.Add("onClick", "OpenURL()");
bCell.Controls.Add(b);
有了这个,我可以打开一个窗口,但我似乎无法将从JSON字符串反序列化的URL转换为OpenURL()
function OpenURL(url) {var x = window.open(url, 'mynewwin');
前端功能。
由于网址不同,我无法在任何地方进行硬编码。
所有按钮,行和单元格都是从JSON字符串动态生成的。因此,这些都不会发生硬编码。 //第一次发布海报试图寻找解决方案但失败
答案 0 :(得分:0)
如果你知道创建按钮时网址是什么,你可以这样做:
Button b = new Button();
var url = "some url";
b.Attributes.Add("onClick", string.Format("OpenURL({0})",url));
bCell.Controls.Add(b);
如果您在加载页面之前不知道该URL,则可以将其存储在页面上的变量中,并在单击链接时检索它。
<script>
var url;
//have whatever you use to set the url call this function
function setUrl(inputUrl){
url = inputUrl;
}
function OpenURL(){
var x = window.open(url,'some window');
}
</script>