я хочу показать сообщение о подтверждении со стороны сервера, а затем при событии «ОК» или «Отмена» я хочу выполнить метод на стороне сервера - PullRequest
0 голосов
/ 20 апреля 2011

У меня есть такая кнопка: -

<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>  
    <telerik:RadAjaxPanel ID="mainAjaxPanelContentManager" runat="server" Height="100%" LoadingPanelID="contentManagerRadAjaxLoadingPanel" OnAjaxRequest="ContentManagerAjaxRequest"></telerik:RadAjaxPanel>


<asp:ImageButton ID="btnadd" runat="server" ImageUrl="~/Images/Done.png" 
        Height="20px" OnClientClick="test()"/>

тогда у меня есть функция JavaScript, как это: -

function test() 
{
    var result;
    var r = confirm("Duplicate Serial Number - DO you want to change it?");
    $find("<%= mainAjaxPanelContentManager.ClientID %>").ajaxRequest(r);    
}

, который успешно выполняет следующий метод на стороне сервера: -

protected void ContentManagerAjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        if (e.Argument.ToLower() == "true")
        {
        }
    }

Но когда я делаю так: -

<asp:ImageButton ID="btnadd" runat="server" ImageUrl="~/Images/Done.png" 
        Height="20px" OnClick="btnadd_Click"/>

protected void btnadd_Click(object sender, ImageClickEventArgs e)
    {
        showMessageBox("Hello");
    }

    protected void showMessageBox(string message)
    {
        string sScript = "";
        sScript += "var result;";
        sScript += "var r = confirm('Duplicate Serial Number - DO you want to change it');";       
        sScript += mainAjaxPanelContentManager + ".ajaxRequest(r);";


        ScriptManager.RegisterStartupScript(this, this.GetType(), "confirm", sScript, true);


    }

тогда он не выполняет серверный метод ContentManagerAjaxRequest и выдает исключение, что «Объект не поддерживает это свойство или метод».

Я думаю ajaxRequest() не поддерживается на стороне сервера. а вах это его родной альтер?

на самом деле моя проблема в том, что я хочу показать подтверждающее сообщение со стороны сервера, а затем при событии «ОК» или «Отмена» я хочу выполнить метод на стороне сервера, например «ContentManagerAjaxRequest»

1 Ответ

1 голос
/ 20 апреля 2011
sScript += mainAjaxPanelContentManager + ".ajaxRequest(r);";

Что это должно делать?

Разве вы не хотите что-то подобное (что вы уже сделали в начале)?

sScript += mainAjaxPanelContentManager.ClientID + ".ajaxRequest(r);";
...