可能重复:
URL的最大长度是多少?
您好,我想将referer记录到我的数据库中,我想知道referer的最大长度是多少?
我使用两种不同的方法来实现高级搜索,其中每种方法都有其优点和缺点.
用户可以使用3个参数(名称,姓氏和移动设备)执行高级搜索.
我尝试的第一种方法是检查用户提供了哪些参数; 需要我做8 if&else检查(2 ^数量的参数),并在每个条件我写如果用户已经输入的名称和姓氏的其中查询的子句将看起来像它接受相应的参数,例如一个单独的查询这个:
where(x=>x.name.contains(name) && x.familyname.contains(familyname))
Run Code Online (Sandbox Code Playgroud)
或者在另一种情况下,如果用户只输入了移动设备,则查询的where子句将如下所示:
where(x=>x.mobile==mobile)
Run Code Online (Sandbox Code Playgroud)
这种方式的优点是我打了一次数据库,但缺点是我必须编写更多的代码.
我尝试的第二种方式是我声明了一个IQueryable<>对象并且我首先将数据提供给它没有条件,然后我逐个检查搜索参数,如果它们中的任何一个有值,我IQueryable用该值过滤,最后我执行一个.ToList().这种方式的优点是代码少得多,但是数据库两次就会出现问题.
这是第二种方式的代码示例:
List<ShoppingCardForGridView> list_ShoppingCardForGridView =
new List<ShoppingCardForGridView>();
IQueryable<ShoppingCardForGridView> outQuery =
from x in db.ShoppingCards
orderby x.TFDateBackFromBank descending
where x.TFIsPaymentCompleted == true
select new ShoppingCardForGridView
{
Id = x.Id,
TFCustomerFullName =
x.Customer.TFName + " " + x.Customer.TFFamilyName,
TFDateBackFromBank = x.TFDateBackFromBank.Value,
TFIsDelivered = x.TFIsDelivered,
TFItemsPriceToPay = x.TFItemsPriceToPay,
TFDateBackFromBankPersian = x.TFDateBackFromBankPersian
};
if (!string.IsNullOrEmpty(CustomerFullName))
{
outQuery = outQuery.Where(x =>
x.TFCustomerFullName.Contains(CustomerFullName));
}
if …Run Code Online (Sandbox Code Playgroud) 我有一个Windows窗体应用程序,一个简单的窗体,包含一个面板.我已将面板大小设置为:560,579像素,我已按此方式设置打印文档大小:
System.Drawing.Printing.PaperSize a = new System.Drawing.Printing.PaperSize("A5 (148 x 210 mm)", 584, 827);
printDocument1.PrinterSettings.DefaultPageSettings.PaperSize = a;
Run Code Online (Sandbox Code Playgroud)
现在我希望printpreviewdialoge页面大小为a5或至少与我的打印文档大小相同并且适合它,我怎么能实现这一点?
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap b = new Bitmap(pnlPrint.Width, pnlPrint.Height);
pnlPrint.DrawToBitmap(b, new System.Drawing.Rectangle(0, 0, pnlPrint.Width, pnlPrint.Height));
e.Graphics.DrawImage(b,0,0);
}
private void Print()
{
PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
var paperSize = printDocument1.PrinterSettings.PaperSizes.Cast<PaperSize>().FirstOrDefault(e => e.PaperName == "A5");
printDocument1.PrinterSettings.DefaultPageSettings.PaperSize = paperSize;
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud) 这是我在页面加载时运行的代码:
protected void Page_Load(object sender, EventArgs e)
{
DisableChaching();
if (Request.Cookies["UserName"] == null)
{
if (Session["UserName"] == null)
{
Response.Redirect("~/Default.aspx");
}
else if (Session["AccessLevel"].ToString().Equals("2"))
{
Response.Redirect("~/Default.aspx");
}
}
else if (Session["AccessLevel"].ToString().Equals("2"))
{
Response.Redirect("~/Default.aspx");
}
if (!IsPostBack)
{
LoadControls();
BindGrid();
}
}
Run Code Online (Sandbox Code Playgroud)
有时当我尝试将一些数据保存到数据库并且出现错误时,我尝试通过单击我的保存按钮重新保存数据,我收到此错误:
你调用的对象是空的
如果代码如下:
else if (Session["AccessLevel"].ToString().Equals("2"))
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?
这是我在登录用户控件中的代码,其中ChR是记住用户的复选框:
if (ChR.Checked == true)
{
Response.Cookies["UserName"].Value = txtUserName.Text.Trim();
Response.Cookies["UserName"].Expires = DateTime.Now.AddMonths(2);
Response.Cookies["AccessLevel"].Value = member.AccessLevel.ToString();
Response.Cookies["AccessLevel"].Expires = DateTime.Now.AddMonths(2);
Response.Cookies["FirstName"].Value = member.FirstName;
Response.Cookies["FirstName"].Expires = DateTime.Now.AddMonths(2);
Response.Cookies["LastName"].Value = member.LastName;
Response.Cookies["LastName"].Expires = DateTime.Now.AddMonths(2); …Run Code Online (Sandbox Code Playgroud) 我在ASP.Net 3.5中开发了一个网站.当我在HOST机器上使用Visual Studio编译它时,网站显示正确!但是当我将网站发布到主机的网站托管文件夹时,在IE中键入导航到该网站,它会以这种方式显示:
有谁知道这可能是什么问题?!
我的意思是同一台主机!相同的IE(版本8)!在该机器上使用Visual Studio 2008进行编译,一切都很好,但是当通过在IE中键入URL在同一主机上调用发布的站点时,图像不会显示,并且无法识别字体.
我想在C#codebehind中创建一个选取框控件.我怎样才能做到这一点?我试过了:
marqueetd.Controls.Add (new System.Web.UI.HtmlControls.
Run Code Online (Sandbox Code Playgroud)
在哪里marqueetd是td我想要添加我的选框控件的id .
但是,之后没有选框控制HtmlControls.!你知道我怎么做到这一点,或者有没有办法在我的aspx页面中标记代码并只添加代码隐藏的文本?
来自以下网址:
http://www.mywebsite.com/default.aspx
Run Code Online (Sandbox Code Playgroud)
我想删除default.aspx,以便url看起来像:
http://www.mywebsite.com/
Run Code Online (Sandbox Code Playgroud)
我需要一个快速而干净的方法来做到这一点,我只需要使用default.aspx页面和没有其他页面.提前致谢 .
我想知道是否可以使用c#将列表复制到另一个列表而不执行foreach循环,我发现此链接:
Jon Skeet发布了这件衣服:
targetList.AddRange(sourceList);
在我访问此链接后,一个新的问题发生在我身上,这可能会将列表的某些字段复制到另一个列表的某些字段中,其中两个列表的架构不同而不执行foreach循环?
我有以下div标签:
<div class="slideshow"></div>
Run Code Online (Sandbox Code Playgroud)
我想在c#codebehind中的div中创建几个img标签,如下所示:
<div class="slideshow">
<img src="images/image1.png" alt="" width="600" height="300" />
<img src="images/image2.png" alt="" width="600" height="300" />
<img src="images/image3.png" alt="" width="600" height="300" />
</div>
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ?