我将在服务器端访问我的Div,然后我需要将数据绑定到该div
我的代码:
<div id="leftpanel" class="panel-body" runat="server">
</div>
服务器端代码:
public void GetLeftPanelData()
{
DataAccess da = new DataAccess();
leftpanel.InnerText = da.GetLeftPanelData(); // <-- Error Shown here
}
数据访问方法
public DataSet GetLeftPanelData()
{
try
{
SqlCommand comGetLeftPanelData = new SqlCommand("SP_GetLeftPanelData", con);
comGetLeftPanelData.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(comGetLeftPanelData);
DataSet ds = new DataSet();
con.Open();
da.Fill(ds);
con.Close();
return ds;
}
catch (Exception ee)
{
throw ee;
}
}
我的存储过程
ALTER PROCEDURE [dbo].[SP_GetLeftPanelData]
AS
BEGIN
select Description
from dbo.CommonPages
where Type= 6
END
这是返回编码的HTML ![在此输入图像说明] [1]
在此查询中只返回1行字符串,如“Hello test data”
答案 0 :(得分:2)
假设我在更新后的问题中看到的内容是正确的,我建议您使用ExecuteScalar()
。
当您的查询仅返回单个数据时,将使用此选项。在这种情况下,您的查询看起来只返回一行,只有列描述。如果这是正确的,那么你可以这样做:
public string GetLeftPanelData()
{
try
{
SqlCommand comGetLeftPanelData = new SqlCommand("SP_GetLeftPanelData", con);
comGetLeftPanelData.CommandType = CommandType.StoredProcedure;
con.Open();
string returnData = (string)comGetLeftPanelData.ExecuteScalar();
con.Close();
return returnData;
}
catch (Exception ee)
{
throw ee;
}
}
答案 1 :(得分:1)
如果您必须使用此方法(我建议不要),请将您的方法更改为:
public string GetLeftPanelData()
{
try
{
SqlCommand comGetLeftPanelData = new SqlCommand("SP_GetLeftPanelData", con);
comGetLeftPanelData.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(comGetLeftPanelData);
DataSet ds = new DataSet();
con.Open();
da.Fill(ds);
con.Close();
return ds.Tables[0].Rows[0]["Description"].ToString();
}
catch (Exception ee)
{
throw ee;
}
}