私のフォーマットで2つのボタンがあり、編集と削除が可能なデータグリッドを使用していますが、それらのイベントは発生していません。どこでコードが間違っているのですか?私はvb.netで同じコードを実行しているが、C#で変換した後は動作しません。 Plzヘルプ。datagrid_itemcommandイベントが起動しない
vb.netからc#にコードを変換する際に他に変更が必要なことはありますか? ありがとうございます!あなたのaspxファイルで
private void dgjob_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
try
{
switch (e.CommandName)
{
case "edit":
try
{
qry = "select ROLE from AV_USER_DETAILS where USER_ID='" + Session["user_name"] + "'";
cmd.Connection = con;
cmd.CommandText = qry;
con.Open();
if (Information.IsDBNull(cmd.ExecuteScalar()))
{
av_class.alert("User Not Permitted ", this);
con.Close();
return;
}
string st = cmd.ExecuteScalar().ToString();
if (!(st == "hod") & !(st == "Media_Planner"))
{
av_class.alert("User Not Permitted ", this);
con.Close();
return;
}
con.Close();
if (st == "hod")
{
goto mygo;
}
else
{
if (st == "Media_Planner")
{
goto mygo;
}
else
{
av_class.alert("User not Permitted", this);
return;
}
}
}
catch (Exception ex)
{
av_class.alert("Error .", this);
}
mygo:
ViewState["job_code"] = bll.RemoveSpecialChars(((Label)e.Item.FindControl("lbljobcode")).Text.Trim());
//4 tables changed av_creative_for_agency,av_datatable_one_for_ro,av_cmp_prd,av_datatable_two_for_ro used only once'
DataTable dat = new DataTable();
DAL o = new DAL();
dat = o.GetDataForGrid("select top 1 job_code from av_creative_for_agency where job_code='" + ViewState["job_code"] + "'");
if (dat.Rows.Count > 0)
{
av_class.alert("Ro's are Created for this !So can't be Edited", this);
return;
}
if (chk_job(ViewState["job_code"].ToString()) == false)
{
//alert("This Job already confirmed, so cannot be edited!", Me)
//Exit Sub
tb_campaign.Enabled = false;
}
retrive_from_DB(bll.RemoveSpecialChars(ViewState["job_code"].ToString()));
tabjob.Visible = true;
break;
Case "delete"
ViewState("job_code") = bll.RemoveSpecialChars(CType(e.Item.FindControl("lbljobcode"), Label).Text.Trim)
If chk_job(ViewState("job_code")) = False Then
alert("This Job already confirmed, so cannot be deleted!", Me)
Exit Sub
End If
If del_draft(ViewState("job_code")) = False Then
alert("Error in processing!", Me)
Exit Sub
End If
tabjob.Visible = False
alert("Draft deleted successfully!", Me)
}
}
catch (Exception ex)
{
}
}
ASPX CODING OF THE DATAGRID
<asp:datagrid id="dgjob" runat="server" CssClass="davpdgdatagrid"
PageSize="100" AutoGenerateColumns="False" ShowFooter="True"
BackColor="White" BorderColor="#CCCCCC" BorderStyle="None"
BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Horizontal"
HorizontalAlign="Center">
<AlternatingItemStyle CssClass="davpdgalt"></AlternatingItemStyle>
<ItemStyle CssClass="davpdgitem" HorizontalAlign="Center"></ItemStyle>
<FooterStyle BackColor="#CCCC99" ForeColor="Black" />
<HeaderStyle Wrap="False" HorizontalAlign="Center" CssClass="davpdgheader"
BackColor="#333333" Font-Bold="True" ForeColor="White"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button id="btnedit" runat="server" CssClass="btn btn-primary" Text="Edit" CausesValidation="False"
CommandName="edit"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button id="btndelete" runat="server" CssClass="btn btn-primary" Text="Delete" CausesValidation="False"
CommandName="delete"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Job Code">
<ItemTemplate>
<asp:Label id="lbljobcode" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.job_code") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="TextBox2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.job_code") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="job_name" HeaderText="Job Name"></asp:BoundColumn>
<asp:BoundColumn DataField="job_date" HeaderText="Job Date"></asp:BoundColumn>
</Columns>
<PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" Mode="NumericPages" />
<SelectedItemStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
</asp:datagrid>
エラーは何ですか?ご質問ください。 –
これは主な問題です。エラーは表示されません。編集ボタンをクリックするか、または削除すると同じページが更新され、そのボタンのイベントは発生しません。 –
ヘイスはデブリングを試みましたか?グリッドボタンでポストバックを有効にしていますか? –