У меня есть две сетки, которые содержат кнопку удаления, и я использую RadAjaxManager, который будет запускать запрос ajax от клиента стороне на стороне сервера OnajaxRequest, которые содержат обработчики событий и этот обработчик событий будем называть мое Удалить событие, как показано ниже:Обработать несколько событий удаления из сетки с помощью обработчиков одиночных событий asp.net
<telerik:RadAjaxManager ID="RadAjaxManager2" runat="server" meta:resourcekey="RadAjaxManager1Resource1" OnAjaxRequest="RadAjaxManager2_AjaxRequest">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager2">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="Grid1" />
<telerik:AjaxUpdatedControl ControlID="Grid2" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid ID="Grid1" runat="server">
---
---
<telerik:GridTemplateColumn HeaderText="Action" UniqueName="Action" HeaderStyle-Width="130px">
<ItemTemplate>
<asp:ImageButton runat="server" ID="Remove1" Text="Delete" OnClientClick='<%# Eval("Id", "javascript:return DeleteData(\"{0}\");") %>' />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:RadGrid ID="Grid2" runat="server">
---
---
<telerik:GridTemplateColumn HeaderText="Action" UniqueName="Action" >
<ItemTemplate>
<asp:ImageButton runat="server" ID="Remove2" Text="Delete" OnClientClick='<%# Eval("Id", "javascript:return DeleteData(\"{0}\");") %>' />
</ItemTemplate>
</telerik:GridTemplateColumn>
function DeleteData(Id) {
var ajaxManager = null;
var action = 'Remove';
ajaxManager = $find("ctl00_cphMain_RadAjaxManager2");
var arg = action + "," + Id; //Remove,1(1 indicates id of record to remove from grid)
ajaxManager.ajaxRequest(arg);This line will fire below method.
}
public event EventHandler RemoveEvent;
protected void RadAjaxManager2_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
var argument = (e.Argument);
var stringArray = argument.Split(",".ToCharArray());//[0]="Remove",[1]=1
if (stringArray[0] == "Remove")
{
RemoveEvent(stringArray[1], null);
}
}
После этого он будет называть это:
protected void Page_Load(object sender, EventArgs e)
{
this.RemoveEvent += Remove1_Click;
this.RemoveEvent += Remove2_Click;
if (!IsPostBack)
{
}
}
protected void Remove1_Click(object sender, object obj)
{
}
protected void Remove2_Click(object sender, object obj)
{
}
Проблема здесь как это события вызова, но я просто хочу, чтобы назвать отдельные Удалять события на нажатие Remove 1 и Удалить2.
Может ли кто-нибудь помочь мне с этим?
На самом деле у меня есть одна страница с ParentPage.cs, и этот Onajaxrequest находится на странице ParentPage.cs.Эта сетка и мои методы Remove1 и Remove2 находится на Abc.aspx, и я унаследовал эту страницу abx.cs от parentPage: public partial class Abc: ParentPage –
Итак, как вызвать этот RemoveRecord с сайта ParentPage.cs? –
Поместите код C# на родительскую страницу, так как метод «RadAjaxManager2_AjaxRequest» находится на родительской странице. Сетка может быть на дочерней странице. – Sunil