簡體   English   中英

將數據后面的代碼訪問到.aspx頁中

[英]Access code behind data into .aspx page


我有一條記錄從sql數據庫轉換為后面的代碼。
我想將其字段用於整個.aspx頁。
我該怎么辦?
我的代碼是這樣的:
default.aspx.cs

public partial class view_diamond : System.Web.UI.Page
{
    public string id; 
    protected void Page_Load(object sender, EventArgs e)
    {
        //Label1.Text = Request.QueryString["diamond_id"];   
        if (!IsPostBack)
        {
            showData();
        }
    }
    protected void showData()
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["JemfindConnectionString"].ConnectionString);
        conn.Open();
        id = Request.QueryString["diamond_id"];  

        string sqlSelect = "SELECT * FROM diamond_detail WHERE final_diamond_id="+id;
        SqlCommand cmd = new SqlCommand(sqlSelect, conn);

        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);

        conn.Close();
    }
}

我想在.aspx頁的不同控件中使用不同的字段。
控件如:
default.aspx

<asp:Label ID="diamond_carat_lbl" CssClass="diamond_carat_lbl" runat="server" Text=' ' ></asp:Label>

因此,您可能希望將查詢結果的不同值綁定到某些標簽或文本框? 那應該工作。 是什么阻止您在后面的代碼中執行此操作?

順便說一下,您應該將SqlConnection包裝在using語句中,因為它實現了IDisposable 即使出現錯誤,這也可以確保正確處理連接。 由於您沒有參數化查詢,因此您的代碼容易受到SQL Injection攻擊。

id = Request.QueryString["diamond_id"]; //Probably should use String.IsNullOrEmpty and display a message to the client if the parameter isn't here
var cmd = new SqlCommand("SELECT * FROM diamond_detail WHERE final_diamond_id=@id");
cmd.Paramaters.AddWithValue("id", id);
var dt = new DataTable();
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["JemfindConnectionString"].ConnectionString));
{
    cmd.Connection = conn;
    conn.Open();  
    dt.Load(cmd.ExecuteReader()); //We eliminated the SqlDataAdapter
}
var record = dt.AsEnumerable().Single(); //retrieve one DataRow from DataTable
diamond_carat_lbl.Text = record.Field<string>("carats"); //Get the field called carats
diamond_name_lbl.Text = record.Field<string>("name");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM