我已经阅读了几个答案,并尝试了一些不同的代码,但是还没有能够解决这个问题。我是一个新手,这似乎是一件非常简单的事情,如果答案真的很明显,请道歉,只需要它真正起作用.. 到目前为止,我在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>';
编辑联系人,然后将其放入类似于结构的表格中(可能是#&#34;表格&#34;给定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\');" />';
关于如何通过按钮使其正常工作的任何想法?
这是我尝试的其他一些代码,它是将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;
任何想法都非常感激。这是我的第一篇帖子..
答案 0 :(得分:0)
如果要使用按钮重定向,请使用Response.Redirect(url),此按钮必须是服务器端控件。
答案 1 :(得分:0)
最后,一位同事帮我解决了这个问题。 正如其他海报所发现的那样,URL存在一些问题,尤其是逃逸问题。 无论如何,下面是代码,在任何可能的情况下,任何人都需要类似的东西。
buttoncode =&#39;&#39;;
var editcontact =&#39;&#39; + buttoncode +&#39;&#39;;
我们添加了一个函数(可能应该称为方法或其他): 函数OpenContactForEdit(supplier_id) { window.location =&#34; WebForm1.aspx?supplier_id =&#34; + supplier_id; }
评论: 这一点非常重要: onClick =&#34; OpenContactForEdit(\&#39;&#39; + dataRow.supplier_id +&#39; \&#39;)&#34;
请注意我们需要如何逃避(以及&#39; end escape&#39;)单引号。 我认为这是原因的一个重要部分,我所做的不起作用。