ASP.NET MVC 上下文对象使用单例

ASP.NET MVC 上下文对象使用单例,第1张

我回答问题首先希望帮助到学习C#的后辈。

所以先分析原因。

你出现这个错误是因为你没有了解ASP.NET的工作原理。ASP.Net 和php,jsp ,asp等服务器语言一样 都是为了生成可供浏览器解析的页面,而可供浏览器解析的语言只有HTML。

1,如果你在aspx页面中插入一个asp:LinkButton 那么运行页面后 在浏览器中查看源代码你会发现这个标签实际被转为了一个<a>标签。

2,为什么你的写法不会转换呢?因为首先 传递给Literal1.Text 的值在asp.net中作为一段字符串被直接输出到浏览器中。那么你的写法到浏览器后源代码中仍然是一个asp:LinkButton 标签,而这个标签是无法被浏览器正确解析的。

解决办法:

知道了原因,那么如果非要按照你的写法去写,那么应该是这样的:

Literal1.Text = "<li>" + ((users)Session["users"]).Name.ToString() + "</li><li></li><li><a ID='LinkButton1' onclick='LinkButton1_Click1'>注销</a></li><li></li><li>信息修改</li><li></li>"

但是当你修改完后发现点击注销按钮依然不能执行!为什么呢?

因为你的LinkButton1_Click1 事件并没有在asp.net中被解析为可供浏览器识别的js代码。

如何解决?

首先吐槽下你的写法实在另类, 但是依然可以实现。

在aspx页面中写一个asp:LinkButton按钮:

<asp:LinkButton ID='LinkButton2' runat='server' onclick='LinkButton1_Click1'>注销</asp:LinkButton>

运行页面,查看源代码 看看这个新加的注销按钮被解析为了什么html代码,大概如下

<a id="LinkButton2" onclick="xxxxx"></a>

将新加的linkbutton 设置不可见属性

<asp:LinkButton ID='LinkButton2' runat='server' visible="false" onclick='LinkButton1_Click1'>注销</asp:LinkButton>

重新修改后台代码

Literal1.Text = "<li>" + ((users)Session["users"]).Name.ToString() + "</li><li></li><li><a ID='LinkButton1' onclick='xxxxx'>注销</a></li><li></li><li>信息修改</li><li></li>"

//也就是将标签的js事件绑定到那个隐藏的注销按钮事件上。

希望对你有帮助

string sql="server=数据库服务器名字database=数据库名字uid=用户名pwd=密码"//数据库连接字符串。

sqlconnection sqlcon=new sqlconnection(sql)//创建SQLCONNECTION连接。

sqlconn.open()//打开连接;

///

这里是执行的 *** 作,基本是SQLCOMMAND或SQLDATAAPARDER

///

sqlconn.close()关闭连接。

oledb的使用网上的确很多.\x0d\x0a如果只是查询. 写入. 删除,我们常用的就是\x0d\x0aOleDbConnection '用于写数据库的连接\x0d\x0aOleDbCommand '用于数据的 *** 作 接收SQL语句 并执行\x0d\x0aOleDbDataReader '查询了,我们就用这个类来读取查询的对象\x0d\x0a1).OleDbConnection \x0d\x0a dim conn as new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0Data Source =数据库的路径")'连接字符串一般就这样 \x0d\x0a 查询前在打开 \x0d\x0a conn.open\x0d\x0a 2).OleDbCommand \x0d\x0a dim cmd as new OleDbCommand ("SQL语句",conn)'SQL语句决定了你是查询写入还是更新删除\x0d\x0a '''\x0d\x0a如果是查询,你还要用到OleDbDataReader \x0d\x0a 这个是不用新建的不能用New \x0d\x0adim rd as OleDbDataReader=cmd.ExecuteReader'cmd.ExecuteReader 方法就是读取查询的内容\x0d\x0acmd.ExecuteNonQuery用于执行 *** 作 返回变动的条数 ,一般用于 添加 删除 更新 等其它 *** 作\x0d\x0a \x0d\x0a其实就这些了,就是要学点SQL语句就行了.\x0d\x0a标准执行过程就是\x0d\x0aDim conn As New OleDbConnection("连接字符串")\x0d\x0aconn.Open()\x0d\x0aDim cmd As New OleDbCommand("SQL语句", conn)\x0d\x0a'如果是写入 更新 删除 则\x0d\x0acmd.ExecuteNonQuery()\x0d\x0a 否则\x0d\x0aDim rd As OleDbDataReader = cmd.ExecuteReader\x0d\x0a\x0d\x0aIf rd.Read Then\x0d\x0aDim d As Object = rd.Item("字段名")\x0d\x0aEnd If\x0d\x0a结束如果\x0d\x0ard.Close()\x0d\x0acmd.Dispose()\x0d\x0aconn.Close()\x0d\x0a \x0d\x0a上面要有 Imports System.Data.OleDb


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6460012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-22
下一篇 2023-03-22

发表评论

登录后才能评论

评论列表(0条)

保存