rgboss Ответов: 3

как выполнить код на стороне сервера при использовании onclientclick


я хочу, чтобы после заполнения регистрационной формы появилось окно подтверждения, которое показывает "нажмите кнопку ОК, чтобы подтвердить или отменить обновление". При нажатии на кнопку ОК я хочу выполнить хранимую процедуру и код на стороне сервера. Я хочу выполнить приведенный ниже код после нажатия на кнопку "ОК"
Как я должен это сделать. Пожалуйста, кто-нибудь, помогите мне.

cmd.Parameters.Clear();
           cmd.CommandType = CommandType.StoredProcedure;

           cmd.Parameters.AddWithValue("@mode", "confirmlog");
           cmd.Parameters.AddWithValue("@username", Session["usern"]);
           cmd.Parameters.AddWithValue("@appid", Session["appid"]);
           cmd.Parameters.AddWithValue("@userip", Request.UserHostAddress);
           cmd.Parameters.Add("@retval", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
           cmd = ce.exe_procedure("sp_getstudent_info", cmd);
           int j = Convert.ToInt16(cmd.Parameters["@retval"].Value);
           DataSet Ds1 = new DataSet();
           if (i == 1)
           {
               ServiceReference1.ServiceClient SendChl = new ServiceReference1.ServiceClient();
               SqlCommand cmd1 = new SqlCommand();
               cmd1.Parameters.AddWithValue("@ChallanNo", Session["appid"].ToString());
               cmd1 = ce.exe_procedure("Reg_Convo_GetInfo_ByChallan", cmd1);
               Ds1 = ce.executeprocedure_Dataset(cmd1);
               if (Ds1.Tables[0].Rows[0][0].ToString() != "")
               {
                   string s = Ds1.Tables[0].Rows[0][0].ToString();
                   SendChl.ImportChallanXML(Session["appid"].ToString(), s);
               }
               if (Convert.ToString(Session["AmtType"]) == "Online Payment")
               {
                   Response.Redirect("must go to online payment gateway"] + "");
               }
               else
               {
                   Response.Redirect("Loginnext.aspx");
               }
           }

3 Ответов

Рейтинг:
28

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Добавь OnClick="btnOk_Click" атрибут к Кнопка ОК.
Убедиться Кнопка ОК имеет runat="server" набор атрибутов.

Затем поместите код внутрь btnOk_Click Событие.

protected void btnOk_Click(Object sender, EventArgs e)
{
    // Your code here.
}


rgboss

@Tadit тире: &ЛТ;АСП:кнопка ID="btn_submit" атрибут runat="сервер" текст="отправить" функция onclick="btn_submit_Click" onclientclick="возвращение подтвердить('нажмите ОК, чтобы подтвердить отменить для обновления');"/&ГТ;

Я использовал такой атрибут.assign, к которому относится кнопка ok кнопка в окне подтверждения или кнопка отправки на странице.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

О, мне очень жаль. Я думал, у тебя есть одна кнопка "ОК". Ладно, без проблем.
Просто поместите код внутри события btn_submit_Click.

охраняемых недействительными btn_submit_Click(объект отправителя, EventArgs в электронной)
{
// Ваш код здесь.
}

rgboss

в настоящее время он находится внутри
охраняемых недействительными btn_submit_Click(объект отправителя, EventArgs в е) только,
но это не работает. Я хочу выполнить код после нажатия на кнопку OK окна подтверждения.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Можете ли вы увидеть окно подтверждения при нажатии кнопки?

rgboss

да, конечно.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Ладно, попробуй вот так. Отметьте, что OnClientClick чувствителен к регистру.

OnClientClick="return ConfirmOnDelete();"

<сценарий тип="текст/JavaScript" языка="JavaScript"; другими&ГТ;
функция ConfirmOnDelete()
{
if (confirm("Нажмите кнопку OK, чтобы подтвердить отмену обновления')")==true)
вернуть true;
еще
возвращать false;
}
</script>

rgboss

это работает
но я думаю, что есть проблема в моем коде на стороне сервера. Я решу эту проблему.
Спасибо, солн.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Окей. Рад это слышать. :)
Пожалуйста, примите ответ.

Спасибо,
Тадит

rgboss

Привет,

Это сработало, но из-за этого проверки не работают.Пожалуйста дайте решение
СРОЧНО

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Какие проверки? Вы можете показать код?

rgboss

Проверка правильности регулярных выражений и обязательный валидатор полей

rgboss

когда я удаляю атрибут OnClientClick кнопки, контроль проверки работает.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Этого не должно случиться. Вы можете показать код?

rgboss

какой кодовый файл .cs или .aspx

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

.aspx-файл

Это растет долго. Давайте сделаем одну вещь. Добавьте еще один вопрос по CodeProject и дайте мне ссылку здесь.

rgboss

Я уже сделал это и получил решение в любом случае спасибо.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

О, это здорово. :)

rgboss

вот ссылка

http://www.codeproject.com/Questions/715348/confirm-pop-up-box-is-not-displaying

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Окей. :)

Рейтинг:
1

Christian Graus

Вы можете использовать onclientclick для возврата true или false ( именно так вы показываете подтверждающее сообщение), и если оно вернет true, то сработает щелчок на стороне сервера. Или вы можете использовать AJAX, через ASP.NET AJAX или через jquery, чтобы отправить свои данные.

ASP.NET это довольно ужасно, вы должны начать изучать MVC вместо этого, потому что я не могу представить себе ни одной здравой причины для любого нового проекта использовать webforms.


Рейтинг:
1

Mohamed Abdirahman

cmd.Parameters.Clear();
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@mode", "confirmlog");
cmd.Parameters.AddWithValue("@username", Session["usern"]);
cmd.Parameters.AddWithValue("@appid", Session["appid"]);
cmd.Parameters.AddWithValue("@userip", Request.UserHostAddress);
cmd.Parameters.Add("@retval", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
cmd = ce.exe_procedure("sp_getstudent_info", cmd);
int j = Convert.ToInt16(cmd.Parameters["@retval"].Value);
DataSet Ds1 = new DataSet();
if (i == 1)
{
    ServiceReference1.ServiceClient SendChl = new ServiceReference1.ServiceClient();
    SqlCommand cmd1 = new SqlCommand();
    cmd1.Parameters.AddWithValue("@ChallanNo", Session["appid"].ToString());
    cmd1 = ce.exe_procedure("Reg_Convo_GetInfo_ByChallan", cmd1);
    Ds1 = ce.executeprocedure_Dataset(cmd1);
    if (Ds1.Tables[0].Rows[0][0].ToString() != "")
    {
        string s = Ds1.Tables[0].Rows[0][0].ToString();
        SendChl.ImportChallanXML(Session["appid"].ToString(), s);
    }
    if (Convert.ToString(Session["AmtType"]) == "Online Payment")
    {
        Response.Redirect("must go to online payment gateway"] + "");
    }
    else
    {
        Response.Redirect("Loginnext.aspx");
    }
}


это все, что вы искали.
Благодарить всех.