Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这段代码在Web表单项目中的位置是什么?_C#_Asp.net_Webforms - Fatal编程技术网

C# 这段代码在Web表单项目中的位置是什么?

C# 这段代码在Web表单项目中的位置是什么?,c#,asp.net,webforms,C#,Asp.net,Webforms,我正试图找出把代码放在哪里。我已经尝试将其放置在default.aspx.cs文件中,但我不确定是否将其放置在模板的错误部分。此外,我还尝试将aspx代码放在default.aspx文件夹中,但我也遇到了同样的问题 如果有人能告诉我这个代码应该放在哪里,那就太好了 以下是我的代码: aspx代码 <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="s

我正试图找出把代码放在哪里。我已经尝试将其放置在default.aspx.cs文件中,但我不确定是否将其放置在模板的错误部分。此外,我还尝试将aspx代码放在default.aspx文件夹中,但我也遇到了同样的问题

如果有人能告诉我这个代码应该放在哪里,那就太好了

以下是我的代码:

aspx代码

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

<h1>Northwind Traders</h1>
<hr />
<br />
<div class="col-md-12 table-responsive">
<asp:GridView ID="ProductsViewID" runat="server" OnPreRender="Grid_PreRender"
PageSize="5" CssClass="table table-hover table-condensed" AutoGenerateColumns="True" Style="width: 100%;">
</asp:GridView>

</div>
</asp:Content>
public void LoadProductsData()
{
DataTable dt = new DataTable();
//We need to fetch data from Data Base we can call Fetch_ProductList() with
//necessary changes mentioned. Here i am considering MS SQL DB
//since Data base details are not provided i am creating Data Table manually.
  
//Creating columns
dt.Columns.Add("Product");
dt.Columns.Add("First Name");
dt.Columns.Add("Last Name");

//Adding Rows
dt.Rows.Add("Northwind Traders Almonds","Roland","Wacker");
dt.Rows.Add("Northwind Traders Beer","Soo Jung","Lee");
dt.Rows.Add("Northwind Traders Beer","Francisco","Perez-Olaeta");
dt.Rows.Add("Northwind Traders Beer","Karen","Tob");

dt.Rows.Add("Northwind Traders Boysenberry Spread", "Run", "Liu");
dt.Rows.Add("Northwind Traders Boysenberry Spread", "Roland", "Wacker");

dt.Rows.Add("Northwind Traders Cajun Seasoning", "John", "Rodman");
dt.Rows.Add("Northwind Traders Cajun Seasoning", "Roland", "Wacker");

//Assigning Data Table to Gridview
ProductsViewID.DataSource = dt;
//Binding the data to GridView
ProductsViewID.DataBind();
}

protected void Grid_PreRender(object sender, EventArgs e)
{
GridView grid = sender as GridView;
try
{
if (grid != null && grid.Rows.Count > 0)
{

grid.UseAccessibleHeader = true;
grid.HeaderRow.TableSection = TableRowSection.TableHeader;
grid.FooterRow.TableSection = TableRowSection.TableFooter;
}
}
catch (Exception)
{
}

}


public DataTable Fetch_ProductList()
{
DataTable dt = new DataTable();
SqlConnection conn = new SqlConnection("ConnectionString"); //Here we need to provide ConnectionString of Data Base.
SqlCommand cmd = new SqlCommand();
try
{
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
//Here we need to provide the Query to fetch the data from DataBase
//Sample Query would be 'SELECT PRODUCT_NAME,[FIRST NAME],[LAST NAME] FROM NORTHWIND_TRADERS_TABLE'
cmd.CommandText = "HERE WE NEED TO PROVIDE QUERY";
conn.Open();
SqlDataAdapter reader = new SqlDataAdapter(cmd);
reader.Fill(dt);
conn.Close();
}
catch (Exception ex)
{
conn.Close();
}
return dt;
}

同样,我只是需要代码放置方面的帮助。代码本身应该按预期工作。感谢您的帮助

webforms有几个地方可以放这类东西,但您可能应该查看
App\u code
文件夹。您可以将附加的
*.cs
文件放入其中,并定义它们自己的类,包括静态类

此外,填充数据表的方法也不应直接更新控件或设置数据源。相反,使用该方法(在本例中为
LoadProductsData()
) 将数据表作为值返回。然后,ASP.Net页面生命周期事件处理程序将调用您的方法,并使用结果更新页面上的控件


最后,这里有一些代码让我相信您还没有接触过Sql注入。确保从不使用字符串连接将用户值替换到SQL查询中。相反,学习如何使用参数化查询。很难低估这一点的重要性。

旁注:我强烈建议您从一些基本的“如何”教程开始。特别是对于像这样的“遗留”代码(大多数开发人员都认为aspx web表单是遗留的),有很多教程以及如何在那里创建站点来帮助您入门,这样您至少可以了解框架的基础知识。如果这也太多,那么在转向web开发之前,先从一些基本的c#教程开始。最后,如果您可以选择先学习什么,请尝试学习一些较新的框架,而不是像。。。(续)↑ ... - .我不得不问-你意识到ASP.NETWebForms是一项古老的技术吗?如果您正在学习web开发,那么您不应该“将其放在Visual Studio中”。您正在执行一个Web表单项目,代码的去向不依赖于IDE。如果使用记事本、VisualStudio、VisualStudio代码、vi或任何其他编辑器,则正确的位置将是相同的。我已相应地编辑了您的问题。@AlbertD.Kallal Web表单已失效。我在博客上写了原因。它不是.NET的未来。每个人都需要有一个适当的计划来转换Web表单。不管你是喜欢它还是错过了拖放体验,它将不再被支持。人们不会被迫走MVC道路。有Blazor,有SPA+WebAPI等等。如果有人试图学习一个新的框架,而他们没有非常具体的理由这样做,他们应该受到警告。很高兴伊戈尔和克罗科德开口了。