Подтвердить что ты не робот

Как вызвать функцию javascript из кода

Я написал javascript с страницей asp.net.

На странице Asp.net

<HTML> <HEAD>
     <script type="text/javascript">
      function Myfunction(){
          document.getElementId('MyText').value="hi";
      }
      </script>
</HEAD> <BODY>
<input type="text" id="MyText" runat="server" /> </BODY>

В Code-behind

 Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
  Handles Me.Load
       If Session("My")= "Hi" Then
          I want to call "Myfunction" javascript function
       End If 
 End Sub

Как я могу это сделать?

4b9b3361

Ответ 1

Это способ вызвать один или несколько методов java script из кода позади. Используя script Manager, мы можем последовательно вызвать методы. Рассмотрим приведенный ниже пример поиска.

ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", 
   "$(document).ready(function(){EnableControls();
   alert('Overrides successfully Updated.');DisableControls();});", true);

В этом первом методе вызывается EnableControls(). Затем появится предупреждение. Затем вызывается метод DisableControls().

Ответ 2

Один из способов сделать это - использовать ClientScriptManager:

Page.ClientScript.RegisterStartupScript(
    GetType(), 
    "MyKey", 
    "Myfunction();", 
    true);

Ответ 3

Существует очень простой способ, которым вы можете это сделать. Это связано с введением кода javascript в элемент управления метками из кода позади. вот пример кода:

<head runat="server"> 
    <title>Calling javascript function from code behind example</title> 
        <script type="text/javascript"> 
            function showDialogue() { 
                alert("this dialogue has been invoked through codebehind."); 
            } 
        </script> 
</head>

..........

lblJavaScript.Text = "<script type='text/javascript'>showDialogue();</script>";

Ознакомьтесь с полным кодом здесь: http://softmate-technologies.com/javascript-from-CodeBehind.htm (мертвый)
Ссылка из интернет-архива: https://web.archive.org/web/20120608053720/http://softmate-technologies.com/javascript-from-CodeBehind.htm

Ответ 4

Если порядок выполнения не важен, и вам нужно, чтобы какой-то javascript И некоторый код был запущен для элемента asp, вот что вы можете сделать.

Что вы можете взять из моего примера: у меня есть div, охватывающий элемент управления ASP, из которого я хочу запускать как javascript, так и codebehind. Метод div onClick И событие OnSelectionChanged календаря оба запускаются таким образом.

В этом примере я использую элемент управления ASP Calendar, и я управляю им как из javascript, так и из codebehind:

Код переднего конца:

        <div onclick="showHideModal();">
            <asp:Calendar 
                OnSelectionChanged="DatepickerDateChange" ID="DatepickerCalendar" runat="server" 
                BorderWidth="1px" DayNameFormat="Shortest" Font-Names="Verdana" 
                Font-Size="8pt" ShowGridLines="true" BackColor="#B8C9E1" BorderColor="#003E51" Width="100%"> 
                <OtherMonthDayStyle ForeColor="#6C5D34"> </OtherMonthDayStyle> 
                <DayHeaderStyle  ForeColor="black" BackColor="#D19000"> </DayHeaderStyle>
                <TitleStyle BackColor="#B8C9E1" ForeColor="Black"> </TitleStyle> 
                <DayStyle BackColor="White"> </DayStyle> 
                <SelectedDayStyle BackColor="#003E51" Font-Bold="True"> </SelectedDayStyle> 
            </asp:Calendar>
        </div>

Codebehind:

        protected void DatepickerDateChange(object sender, EventArgs e)
        {
            if (toFromPicked.Value == "MainContent_fromDate")
            {
                fromDate.Text = DatepickerCalendar.SelectedDate.ToShortDateString();
            }
            else
            {
                toDate.Text = DatepickerCalendar.SelectedDate.ToShortDateString();
            }
        }