Вопрос по asp.net, c# – Добавление события OnClick в элемент управления ASP.NET

2

я хотел бы создатьOnClick событие для моегоpanel, Пока что большинство результатов Google выглядят примерно так:добавление события onclick к метке aspnet, Есть ли способ вызвать функцию codebehind из атрибутов javascript или панели? Потому что я хотел бы перенаправить пользователя на новую страницу и перед этим сохранить некоторую информацию в ViewSTate или Sessionstate. Какие-либо предложения?

Если вам не нужен доступ к Viewstate, я бы с этим не согласился, это потребовало бы дополнительного запроса к серверу, что очень дорого. Сессия будет доступна в методе, который я изложил ниже. Liath
Если вам все равно нужно получить доступ к серверным переменным, таким как ViewState или Session, вы должны выполнить обратную передачу, а затемResponse.Redirect на другую страницу. Rango

Ваш Ответ

3   ответа
2

Моя страница aspx выглядит так:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <script type="text/javascript">
        function CallMe() { __doPostBack('btnTemp', '') }
    </script>
</head>
<body>
    <form id="form1" runat="server">
         <asp:Button ID="btnTemp" runat="server" Text="Test" onclick="btnTemp_Click" />
         <div> <asp:Label ID="Label1" runat="server" Text="Label1"></asp:Label>
         <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label></div>
    </form>
</body>

И мой код на стороне сервера выглядит так:

protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Attributes.Add("onClick", "CallMe();");
    }
protected void btnTemp_Click(object sender, EventArgs e)
    {

    }

Вот код, который я написал, я не включил оператор using, директиву Page и т. Д. В приведенный выше код.

0

На кнопке ASP.NET имеется свойство PostBackUrl, вы можете отобразить кнопку как обычно, а затем выполнить обратную передачу на другую страницу - именно здесь необходимо объявить метод OnClick.

Я настоятельно рекомендую отказаться от публикации на той же странице, а затем выполнить Response.Redirect (), рассмотреть трафик. Браузер запрашивает страницу, отправляет сообщения, затем отправляет HttpRedirect и затем переходит на новую страницу. При использовании описанного выше метода это не требуется, и браузер должен сделать на один запрос меньше (то есть сообщение не нужно отправлять или перестроить страницу на сервере) и является значительным выигрышем в производительности.

2

В вашем Java-сценарии метод поднять__dopostback позвонитьServer side method.

<script type="text/javascript">
     function YourFunction()
     {
         __doPostBack('btnTemp', '')
     }
</script>

кудаbtnTemp это сторона сервераbutton, поэтому напишите событие onClick этой кнопки на стороне сервера, где вы можете выполнить обработку и затем перенаправить на другую страницу.

Вы можете иметь хорошее понимание допостбека наDoPostBack Понимание

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Oak
Error: User Rate Limit Exceeded Oak
Error: User Rate Limit Exceeded Oak
Error: User Rate Limit Exceeded

Похожие вопросы