Aspx页面通过按钮打开超链接
本文关键字:超链接 按钮 Aspx | 更新日期: 2023-09-27 18:14:06
我已经阅读了一些答案,并尝试了一些不同的代码,但还没有能够解决这个问题。我是这方面的新手,这似乎是一件很简单的事情,如果答案真的很明显,我很抱歉,只是需要它真的工作。到目前为止,我在Visual Studio 2010中有一个aspx页面,它是由别人创建的,背后有JavaScript和cSharp代码。我想要发生的是,一个"编辑"按钮出现在页面上正确的位置,按下它,另一个页面被称为允许编辑(联系人-这是一个内部网站)。
我可以让链接工作正常作为一个'正常'的超链接,使用这行代码:
var editcontact = '<td align = "right" colspan = "40" class =
"contactBorder"><a href="WebForm1.aspx?supplier_id=' +
dataRow.supplier_id + '">Open Contact(s) For Edit</a></td>';
编辑联系人然后被放在一个类似表格的结构(也许它是"表单"给定的HTML标签):
finishedcontacts += openrow + contactid + contactname +
contactjobtitle + contactlocation + contacttelephone +
contactemail+ editcontact + '</form></tr>';
这是可以的,但它不是很"好",我想要的是一个实际的编辑按钮,我可以让按钮出现,但上次我试着按它什么也没做:
var editcontact = '<asp:button id = "editImage4" runat="server"
Text="Click me"
OnClientClick="window.open(''WebForm1.aspx''?supplier_id='' + dataRow.supplier_id + '', ''WebForm1'');" />';
关于如何从一个按钮得到这个工作OK的任何想法?
下面是我尝试的一些其他代码,这是为了从调用代码中分离出url的生成,但它们似乎都不起作用:
//var url = string.Format("{0}?supplier_id={1}", "../WebForm1.aspx", dataRow.supplier_id);
//var url = string.Format("{0}?supplier_id={1}", @"../WebForm1.aspx", dataRow.supplier_id);
//var url = 'string.Format("{0} supplier_id={1}", "WebForm1.aspx",'+ dataRow.supplier_id +')';
var url = 'WebForm1.aspx?supplier_id= '+ dataRow.supplier_id +'';
var supplierid1 = dataRow.supplier_id;
如果有什么想法,我将不胜感激。
如果您想使用按钮重定向,则使用Response.Redirect(url),并且此按钮必须是服务器端控件
最后,一位同事帮我解决了这个问题。正如其他发帖者所指出的,这个URL有一些问题,尤其是escape。无论如何,下面是代码,以防万一有人需要类似的东西。
buttoncode = ";
var editcontact = " + buttoncode + ";
我们添加了一个函数(可能应该被称为方法或其他什么):函数OpenContactForEdit (supplier_id){窗口。location = "WebForm1.aspx? "Supplier_id =" + Supplier_id;}
的评论:这一点非常重要:onClick="OpenContactForEdit(' " + dataRow。Supplier_id + ''')"
请注意我们需要如何转义(和'结束转义')单引号。我相信这是很大一部分原因,我所做的事情没有奏效。