当我点击第一个单元格时,我有一个GridView,我想绑定两个事件(?)。
两个事件/ onclick都在RowDataBound中。
第一个给我selectedindex所以我可以使用SelectedIndexChanged并在Session中保存行。
e.Row.Cells[1].Attributes["onClick"] = ClientScript.GetPostBackClientHyperlink(this.gvProd, "Select$" + e.Row.RowIndex);
第二个人将我发送到另一个页面,我将在会话中显示保存的内容。
e.Row.Cells[1].Attributes["onClick"] = "location.href='products.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "Namn") + "'";
所以我想要的是通过一个onClick来解雇。他们都是单手工作,但这对我没有帮助。我是新手,谷歌这次无法帮助我:(
和平了!
答案 0 :(得分:1)
为什么不在url查询字符串中发送值。快速解决方案将使用不可见的控件和设置会话。
<asp:TemplateField HeaderText="" SortExpression="" ItemStyle-CssClass="GridItemLeftText" ItemStyle-Width="5%" HeaderStyle-CssClass="GridHeaderLeftTextLink" HeaderStyle-ForeColor="White" HeaderStyle-Width="5%">
<ItemTemplate>
<asp:ImageButton ID="btnDelete" CommandName="Delete task" runat="server" CommandArgument='<%#Eval("id")%>' ImageUrl="../images/iconDelete.gif" OnClick="deleteTask" />
</ItemTemplate>
</asp:TemplateField>
protected void deleteTask(object sender, EventArgs e)
{
//set session
//Open Popup
}
现在你可以在Code behind函数中设置session(Deletetask)并调用js函数从codebehind打开popup
答案 1 :(得分:0)
这些是javascript命令,因此请尝试在命令之间添加分号:
e.Row.Cells[1].Attributes["onClick"] = ClientScript.GetPostBackClientHyperlink(this.gvProd, "Select$" + e.Row.RowIndex) + ";location.href='products.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "Namn") + "'";