Не попал в функцию на стороне клиента
На самом деле я хочу этого,
я поставил содержимого объекта DataTable нескольких столбцов, значения в dropdownlist для.
Я пишу этот код,но не работаю над ним должным образом.
Не попал в клиентскую функцию, то есть:-funChangeTable(ddlobj).
пожалуйста, какое-то тело поможет мне решить вышеуказанную проблему.
Что я уже пробовал:
1:- мой файл кода aspx находится ниже:
--------------
<pre><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="ExcelGridDemo.WebForm1" %> <title> <%-- --%> $(document).ready(function () { function funChangeTable(ddlObj) { var name = ddlObj.value; debugger; $.ajax({ url: 'WebForm1.aspx/GetTableData', data: JSON.stringify({ tableName: name }), type: 'post', contentType: 'application/json; charset=utf-8', dataType: 'JSON', success: function (response) { var json = JSON.parse(response.data); generateTable(json); }, error: function (a, b, c) { console.log(a, b, c); } }); } function generateTable(json) { debugger; var $table = $('#tblDynamic'); $table.find('thead').empty() $table.find('tbody').empty() if (json && json.length > 0) { var header = json[0]; var columns = []; for (var col in header) { columns.push('<th>' + col + '</th>'); } $table.find('thead').append('<tr>' + columns.join('') + '</tr>'); var rows = []; for (var i = 0; i < json.length; i++) { var row = json[i]; var tds = []; for (var col in row) { tds.push('<td>' + col + '</td>'); } rows.push('<tr>' + tds.join() + '</tr>'); } $table.find('tbody').append(rows.join('')); } } }); <asp:dropdownlist runat="server" id="ddlTableNames" selectedindexchanged="funChangeTable(this)"> <table id="tblDynamic" border="1"><thead></thead> <tbody></tbody> </table>
2:- мой код за файл ниже:
-----------------------
using System; using System.Data; using System.Data.SqlClient; using System.Web.Services; using Newtonsoft.Json; // Add this reference using System.Linq; using System.Collections.Generic; namespace ExcelGridDemo { public partial class WebForm1 : System.Web.UI.Page { //const string connString = "Data Source=PRGSERVER\\SQLEXPRESS;Initial Catalog=FinalNextErp;Integrated Security=True"; const string connString = "Data Source=PRGSERVER\\SQLEXPRESS;Initial Catalog=FinalNextErp;Persist Security Info=True;User ID=sa;Password=dutta@1234;Pooling=True;Max Pool Size=200;Connect Timeout=0"; protected void Page_Load(object sender, EventArgs e) { var data = GetAllTableNames(); ddlTableNames.DataSource = data; ddlTableNames.DataBind(); ddlTableNames.Items.Insert(0, "Select a Table"); } private static string[] GetAllTableNames() { SqlConnection con = new SqlConnection(connString); SqlCommand cmd = new SqlCommand("select name from sys.tables", con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); return dt.AsEnumerable().Select(k => k[0] + "").ToArray(); } [WebMethod] public static string GetTableData(string tableName) { if (GetAllTableNames().Contains(tableName)) // To avoid sql injection { SqlConnection con = new SqlConnection(connString); SqlCommand cmd = new SqlCommand("select * from " + tableName, con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); string json = JsonConvert.SerializeObject(dt); return json; } else return "Table Name Not Found"; } } }