日期:2014-05-17  浏览次数:20437 次

.net中参数从aspx.cs中传递到aspx中作为SQL语句参数
大家好,小弟我打算写一个.net上基于web的网上书店,出现了些问题,请大神帮忙解决
在detail.aspx.cs中我定义了全局变量protected int mybookid ; 在detail.aspx.cs进行处理后打算传到detail.aspx界面中作为访问数据库的参数,以下是detail.aspx中的一段代码:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
  ConnectionString="<%$ ConnectionStrings:SalesConnectionString %>" 
  SelectCommand="SELECT [bookid], [bookname], [author], [price], [press], [kind], [publictime] 
  FROM [book] WHERE [bookid]=<%mybookid %>">
</asp:SqlDataSource>
重点在于SelectCommand中最后的<%mybookid %>,这是我在网上看到的在aspx.cs与aspx之间传递参数的方法,但是运行后提示'<' 附近有语法错误。即没有识别出mybookid,不知道是不是我把它用在SelectCommand中的缘故。请大神指教这个问题如何解决!!!

------解决方案--------------------
非常反感在程序中拼接SQL字符串再执行的,你直接调用存储过程不就好了.方便又快捷.

而且你用的是.net webform,又不是asp,也不是MVC,在后台调用数据库多方便,为啥要舍近求远?
------解决方案--------------------
<%mybookid %>"=><%=mybookid %>"
------解决方案--------------------
protected int mybookid 改成public int mybookid 
不建议这样搞。SqlDataSource1.SelectCommand可以在后台的.cs页面中写。