【发布时间】:2017-11-05 10:57:52
【问题描述】:
我正在尝试在 asp.page 的代码隐藏文件中使用 C# 更改 html <div> 标记中的 DATA 属性。
这是我的 HTML 代码
<div class="tile page-content" id="fullTextArticle"
data-ID=""
data-permission="" runat="server">
</div>
这是我在代码隐藏文件中的 c#
private void DisplayFullTextArticle()
{
string contentID = "";
if (Context.Request.QueryString["contentID"] != null)//check for a value in the query string
{
contentID = Context.Request.QueryString["contentID"];
try
{
//define connection string
string connString = WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connString))//create connection object
{
SqlCommand cmd = new SqlCommand("spDisplayFullTextArticle", conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = Convert.ToInt32(contentID);
SqlDataReader myReader = cmd.ExecuteReader();
HtmlControl divDataID = FindControl(id: "fullTextArticle") as HtmlControl;
while (myReader.Read())
{
divDataID.Attributes["class"]= myReader["ID"].ToString();
}
myReader.Close();
//}//end using statement for SqlCommmand Object
}//end using statement for SQLConnection
}//end try block
catch (Exception ex)
{
} //end catch block
}//end if statement
}
一些上下文:我的方法从查询字符串中获取一个值并将该值传递给一个存储过程,该存储过程运行一个 SELECT 查询以从 SQL 数据库中提取全文内容。我使用断点进行了一些调试,我可以看到查询字符串确实将值传递给过程并且它成功运行了查询。问题是我的 HtmlControl 变量 divDataID 最终为空。所以没有设置ID值,所以浏览器中没有设置<div data-ID>属性。
有谁知道我做错了什么?如何从代码隐藏文件中设置 data-ID 属性?
【问题讨论】:
标签: c# sql asp.net sql-server html