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;

如果有什么想法,我将不胜感激。

Aspx页面通过按钮打开超链接

如果您想使用按钮重定向,则使用Response.Redirect(url),并且此按钮必须是服务器端控件

最后,一位同事帮我解决了这个问题。正如其他发帖者所指出的,这个URL有一些问题,尤其是escape。无论如何,下面是代码,以防万一有人需要类似的东西。

buttoncode = ";

var editcontact = " + buttoncode + ";

我们添加了一个函数(可能应该被称为方法或其他什么):函数OpenContactForEdit (supplier_id){窗口。location = "WebForm1.aspx? "Supplier_id =" + Supplier_id;}

的评论:这一点非常重要:onClick="OpenContactForEdit(' " + dataRow。Supplier_id + ''')"

请注意我们需要如何转义(和'结束转义')单引号。我相信这是很大一部分原因,我所做的事情没有奏效。