2016-05-28 3 views
0

Не в состоянии сделать эту работу.asp кнопка на клике внутри элемент шаблон не стрельба

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:Button ID="btnApprove" runat="server" Text="Approve" OnClick ="btnApprove_Click" /> 
    </ItemTemplate> 
</asp:TemplateField> 

код позади:

protected void btnApprove_Click(object sender, EventArgs e) 
{ 
    Response.Redirect("viewprofile.aspx"); 
} 

даже не стреляя при нажатии кнопки. любые трюки на этом?

+0

просто положить одну этикетку и изменить текст метки при нажатии кнопки нажмите события и посмотреть текст метки является изменение или нет ..... –

+0

не стреляя даже ответ перенаправлять сэр @ PHPDeveloper –

+0

вы используете любую панель обновления? –

ответ

0

Установите EnableEventValidation="false" на самом верху в вашей директиве Page:

<%@ Page EnableEventValidation="false" Language="C#" ...

Только учтите, что установка этого значения ложь может открыть свой сайт в vulnerabilities.As безопасности альтернатива, вместо установки EnableEventValidation="false" вы можете обрабатывать сетки просмотров OnRowCommand:

.aspx:

<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Button runat="server" Text="Approve" CommandName="Approve" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

Код позади:

public partial class delete_me : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack)//THIS IS IMPORTANT.GridView1_RowCommand will not fire unless you add this line 
     { 
      var p1 = new Person() { Name = "Person 1" }; 
      var p2 = new Person() { Name = "Person 2" }; 

      var list = new List<Person> { p1, p2 }; 
      GridView1.DataSource = list; 
      GridView1.DataBind(); 
     } 

    } 

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     System.Diagnostics.Debugger.Break(); 
    } 
} 

public class Person 
{ 
    public string Name { get; set; } 
} 
+0

Отлично. Спасибо, сэр Денис –

+0

Можете ли вы помочь мне с моей другой проблемой сэр http://stackoverflow.com/questions/37497123/get-value-from-asp-boundfield-and-store-to-sql-database-via-button- щелчок –

-1

Вы просто надели сетку.

<asp:TemplateField> 
           <ItemTemplate> 
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/> 
           </ItemTemplate> 
          </asp:TemplateField> 

Также поместите код за

protected void Button1_Click(object sender, EventArgs e) 
     { 
      Response.Redirect("WebForm1.aspx"); 
     } 

Try !!!! это работает отлично ...

+0

В чем разница сэр? –

Смежные вопросы