Member 13919255 Ответов: 1

Как динамически привязать сетку с помощью dropdownlist в ASP.NET MVC 5 Использование entity framework


I have one query table that holds three columns namely id, name, query. I want to bind id as a value name as a text in drop down and when I change the drop down list that query column is executed in web grid dynamically. I don't know how to do this.


Qry_ID	Qry_Name	Qry_Query
    ------------------------------------------------------------------------
1     customer    select cus_name, cus_street, cus_address, cus_place, cus_mobile from customer_master
2     supplier    select sup_code, sup_name from supplier_master


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

я не знаю, как это сделать. если есть какой-то ответ, Пожалуйста, ответьте мне
Спасибо

1 Ответов

Рейтинг:
0

dnxit

private DataTable DynamicTableResult(string tableType)
{
   // based on the table type parameter pass your query 
    var sql = "select sup_code, sup_name from supplier_master";
	var result = new DataTable();
	using (var context = new YourDbContext())
	{
		var cmd = context.Database.Connection.CreateCommand();
		cmd.CommandType = CommandType.Text;
		cmd.CommandText = sql;

		try
		{
			context.Database.Connection.Open();
			var reader = cmd.ExecuteReader();
			do
			{
				result.Load(reader);
			} while (!reader.IsClosed);
		}
		finally
		{
			context.Database.Connection.Close();
		}
	}

	return result;
}


ваш контроллер

// tableType will hold Customer/Supplier
public ActionResult Index(string tableType)
{
     DataTable dt = DynamicTableResult(tableType);
     return View(dt);
}


Ваш взгляд будет похож на

@using System.Data
@model DataTable

<table cellpadding="0" cellspacing="0">
    <tr>
        @foreach (DataColumn col in Model.Columns)
        {
            <th>@col.ColumnName</th>
        }

    </tr>
    @foreach (DataRow row in Model.Rows)
    {
        <tr>
            @foreach (DataColumn col in Model.Columns)
            {
                <td>@row[col.ColumnName]</td>
            } 
        </tr>
    }
</table>