ASP.NET MVC 5 + Entity Framework 6 查看SQL

我照抄MSDN的语句context.Database.Log=Console.Write来查看SQL,控制台一直没有自动启动,请问是什么原因... 我照抄MSDN的语句 context.Database.Log = Console.Write 来查看SQL,控制台一直没有自动启动,请问是什么原因 展开
 我来答
枫叶朴璐
推荐于2016-07-24 · TA获得超过2606个赞
知道大有可为答主
回答量:7573
采纳率:0%
帮助的人:5923万
展开全部
我回答问题首先希望帮助到学习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事件绑定到那个隐藏的注销按钮事件上。
希望对你有帮助
愚高爽0I8
2021-11-01 · TA获得超过165个赞
知道答主
回答量:169
采纳率:0%
帮助的人:98万
展开全部
context.Database.Log=m=>Debug.Write(m);
Debug需要引用命名空间:using System.Diagnostics;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a274355068
2015-04-07 · TA获得超过4.2万个赞
知道大有可为答主
回答量:7754
采纳率:92%
帮助的人:777万
展开全部
控制台设置为启动项
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式