paul_vin Ответов: 1

Я хочу отправить значения массива java script в файл C# code behind


I want to send Java script Array values to C# code behind file


У меня есть флажки в Dev Express gridview и теперь на клиенте нажмите событие, которое я хочу
возьмите выбранные значения флажков в массиве java script. а потом на кнопку нажать хочу
для отправки значений в код с помощью JSON AJAX-вызов.

Но это дает сообщение об ошибке.

Что я уже пробовал:

ASPX-код для Gridview с флажком

<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" KeyFieldName="AccId"
    ClientInstanceName="grid">
    <Columns>
        <dx:GridViewCommandColumn ShowSelectCheckbox="true"></dx:GridViewCommandColumn>
        <%-- <dx:GridViewDataTextColumn>
            <DataItemTemplate>
                <dx:ASPxCheckBox ID="cbCheck" runat="server" Visible="true" AutoPostBack="true"></dx:ASPxCheckBox>
            </DataItemTemplate>
        </dx:GridViewDataTextColumn>--%>
        <dx:GridViewDataTextColumn FieldName="AccId" ReadOnly="True" VisibleIndex="1">
            <EditFormSettings Visible="False" />
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn FieldName="AccessName" VisibleIndex="0">
        </dx:GridViewDataTextColumn>
    </Columns>
    <ClientSideEvents SelectionChanged="grid_SelectionChanged" />
</dx:ASPxGridView>


Затем Проревите эту кнопку управления как

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DemoDBConnectionString %>"
           SelectCommand="GetUserAccess" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
       <input id="Button1" type="button" value="GetData" onclick="myfun()" />


Функция Java Script в головном разделе выглядит следующим образом

<script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
        // alert('c');
        var myval = [];
        function grid_SelectionChanged(s, e) {
            alert("Click");
            s.GetSelectedFieldValues("AccId", GetSelectedFieldValuesCallback);
        }
        function GetSelectedFieldValuesCallback(values) {
           alert(values);
            try {
                myval.push(values);
            }
            finally { }
            
        }

        function myfun() {
            $.ajax({
                type: "POST",
                url: "WebForm1.aspx/MyMethod", // the method we are calling
                contentType: "application/json; charset=utf-8",
                //data: { Param1: myval },
                data: "{ Param1: '" + myval + "'}",
                dataType: "json",
                success: function (result) {
                    alert('Yay! It worked!');
                },
                error: function (result) {
                    alert('Oh no :(');
                }
            });

        }
</script>


код позади метода файла (файлы.cs) как

[WebMethod]
       public static void MyMethod(string []Param1)
       {
           try
           {
               //Do here server event
           }
           catch (Exception)
           {
               throw;
           }
       }


но это дает ошибку как
Oh no


пожалуйста помогите мне решить эту проблему
Заранее спасибо

1 Ответов

Рейтинг:
0

Karthik_Mahalingam

пробовать

   var obj = { Param1: myval } 

         $.ajax({
             type: "POST",
             url: "WebForm1.aspx/MyMethod", // the method we are calling
             contentType: "application/json; charset=utf-8", 
             data: JSON.stringify(obj),
             dataType: "json",
             success: function (result) {
                 alert('Yay! It worked!');
             },
             error: function (result) {
                 alert('Oh no :(');
             }
         });