在经典asp.net的开发中,有时会遇到:无法打开登录所请求的数据库 ASPState 登录失败 的问题。
解决办法: 在数据库服务器上打开 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallSqlState.sql
在数据库管理工具中执行即可,有错误忽略即可。
在经典asp.net的开发中,有时会遇到:无法打开登录所请求的数据库 ASPState 登录失败 的问题。
解决办法: 在数据库服务器上打开 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallSqlState.sql
在数据库管理工具中执行即可,有错误忽略即可。
asp.net的开发中,数据库连接信息一般都在是web.config中配置的,配置方法如下:
<connectionStrings>
<add name="conn" connectionString="Data Source=123.206.101.218;Initial Catalog=MyShop;Persist Security Info=True;User ID=sa;Password=123456" providerName="System.Data.SqlClient" />
</connectionStrings>
调用方法:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Web;
namespace MyShop
{
class Db
{
public static SqlConnection GetConnection()
{
var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
var conn = new SqlConnection(connectionString);
return conn;
}
}
}
FastMember 可以在 Nuget 里找到
配合 Dapper 很好用。
用 Dapper 的时候,要定义实体,像这样调用conn.Query<OrderModel>(sql).ToList(), 不然 FastMember 转成的 DataTable 是空的
private void btnSearch_Click(object sender, EventArgs e)
{
using (var conn = Db.OpenConnection())
{
var sql = "SELECT * FROM dbo.[Order] where 客户名称 like '%张%'";
var data = conn.Query<OrderModel>(sql).ToList();
DataTable table = new DataTable();
using (var reader = ObjectReader.Create(data))
{
table.Load(reader);
this.dataGridView1.DataSource = table;
}
}
}
Razor视图文件中判断是Debug模式还是Release模式
@if (!HttpContext.Current.IsDebuggingEnabled)
{
}
HttpContext.Current.IsDebuggingEnabled的值取决于web.config中的
<compilation debug="true" targetFramework =" 4.5" />
Request.Url.Scheme 返回的仅仅是“http”字符串,注意,它不带 ://
Request.Url.Authority 返回的是域名+端口
完整的拼URL应该这样写:
Request.Url.Scheme + "://" + Request.Url.Authority
一下午时间的教训,之前写错了,一直404.或者打开页面时显示新标签页。。
ASP.Net获取当前运行文件的文件名称,很简单的一条语句,留着自己以后用
Response.Write(System.IO.Path.GetFileName(Request.Path).ToString());