我有一个页面,我想记录用户未能满足相关字段要求的每条验证消息.
问题是我的回发/按钮点击永远不会发生(可能是因为客户端验证),因此日志记录永远不会发生在用户实际获得每个字段之前(没有验证错误).
按钮单击事件方法:
protected void btnNext_Click(object sender, EventArgs e)
{
Page.Validate();
if(Page.IsValid)
{
//code
}
else
{
foreach (IValidator validator in Validators)
{
if (!validator.IsValid)
{
PageValidatorErrors error = new PageValidatorErrors
{
WebsiteID = AppState.WebsiteID,
Page = Request.Url.AbsolutePath,
URL = Request.Url.ToString(),
UserIP = Tools.GetIP(),
ErrorMessage = validator.ErrorMessage,
CreatedDate = DateTime.Now
};
pageValidatorErrorsRep.insert(error);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法,我如何记录这些消息?
编辑:
<script type="text/javascript">
function validatePage()
{
if (window.Page_IsValid != true)
{
//Page_Validators is an array of validation controls in the page.
if (window.Page_Validators …Run Code Online (Sandbox Code Playgroud) 我想将我的LINQ查询分组ItemNumber并返回整个表的总数Quantity.
Example:
ItemNumber - ItemName - Quantity
100 Item1 1
150 Item2 2
100 Item1 2
200 Item3 1
150 Item2 2
Should be:
ItemNumber - ItemName - Quantity
100 Item1 3
150 Item2 4
200 Item3 1
Run Code Online (Sandbox Code Playgroud)
这是我试图分组的查询:
public IQueryable<WebsiteOrderStatus> GetOrderStatusByAccountNumberWithoutDeleted
(string accountNumber)
{
return db.WebsiteOrderStatus
.Where(x => x.AccountNumber == accountNumber && x.LastUpdatedStatus != 1);
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我的最好结果(虽然这不能编译):
public IQueryable<IGrouping<Int32?, WebsiteOrderStatus>> lol(string accountNumber)
{
db.WebsiteOrderStatus
.Where(x => x.AccountNumber == accountNumber && x.LastUpdatedStatus != 1)
.GroupBy(g => …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Aforge中应用Bradleys阈值算法
每当我尝试处理图像时,我都会得到以下异常
抛出新的UnsupportedImageFormatException("过滤器不支持源像素格式.");
在应用算法之前,我使用以下方法对图像进行灰度级处理
private void button2_Click(object sender, EventArgs e)
{
Grayscale filter = new Grayscale(0.2125, 0.7154, 0.0721);
Bitmap grayImage = filter.Apply(img);
pictureBox1.Image = grayImage;
}
Run Code Online (Sandbox Code Playgroud)
算法调用的代码
public void bradley(ref Bitmap tmp)
{
BradleyLocalThresholding filter = new BradleyLocalThresholding();
filter.ApplyInPlace(tmp);
}
Run Code Online (Sandbox Code Playgroud)
我在图像处理实验室尝试了理智的图像,它确实有效,但不在我的系统上.
知道我做错了什么吗?
我正在尝试从我的网站上调用我的WCF服务上的POST方法.但是,WCF服务抱怨json字符串无效.
WCF服务方法:
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "reserve/batteries", BodyStyle = WebMessageBodyStyle.Bare)]
public bool ReserveBatteries(ReserveModel values)
Run Code Online (Sandbox Code Playgroud)
从网站调用POST的方法:
var stations = TempData["Stations"];
string jsonStations = JsonHelper.SerializeJson(stations);
HttpWebRequest httpWReq = (HttpWebRequest)WebRequest.Create("http://localhost:49288/reserve/batteries");
UTF8Encoding encoding = new UTF8Encoding();
string postData = "{\"Stations\": " + jsonStations;
postData += ", \"User\": \"" + User.Identity.Name + "\" }";
byte[] data = encoding.GetBytes(postData);
httpWReq.Method = "POST";
httpWReq.ContentType = "application/json; charset=utf-8";
httpWReq.ContentLength = data.Length;
using (Stream stream = httpWReq.GetRequestStream())
{
stream.Write(data, 0, data.Length);
} …Run Code Online (Sandbox Code Playgroud) 我不太确定这是否可能,所以这就是我问你们的原因.我想写一个方法,知道它之前是否已被访问过,如果它返回了它上次访问时的相同值.我不能为此使用字段/实例变量.
这是我想要做的,没有实例变量foo:
private FooObject foo = null;
public int setFoo(FooObject in)
{
if(foo == null)
foo = in;
return foo.getX();
}
Run Code Online (Sandbox Code Playgroud)
这可以吗?
我正在创建一个搜索成员的函数,我想添加一个where到我的searchResults变量.然而,在我能够这样做之前,它可能需要是一个IQueryable.
这就是我想要完成的事情:
var searchResults = listMembers.DataSource = members.getAllMembers().OrderByDescending(x => x.createdDate).Select(x => new
{
x.ID,
x.memberNumber,
x.name,
x.email,
x.birthDate,
hasPayed = Helper.renderBoolImage(x.hasPayed, true),
isConfirmed = Helper.renderBoolImage(x.isConfirmed, true),
isExportedToExcel = Helper.renderBoolImage(x.isExportedToExcel, true)
});
if (!String.IsNullOrEmpty(search.name))
{
searchResults = searchResults.Where(x => x.name.ToLower().Equals(enc(search.name.ToLower())));
}
Run Code Online (Sandbox Code Playgroud)
这行不会编译,因为它无法解析Where:
searchResults = searchResults.Where(x => x.name.ToLower().Equals(enc(search.name.ToLower())));
Run Code Online (Sandbox Code Playgroud) 我想在我的数据库中找到一个用户,搜索电子邮件和电话号码.但是,如果我使用List或IEnumerable,我会得到一个空的refence异常.如果我不使用任何这些,则抛出"不支持SQL ...".
我的方法:
public List<tblMember> getAllMembers()
{
return db.tblMembers.ToList();
}
private void confirmMembership(string email, int phoneNumber)
{
//var allMembers = db.tblMembers.AsEnumerable(); throws same exception
tblMember member = getAllMembers().FirstOrDefault(x => x.email.Equals(email, StringComparison.OrdinalIgnoreCase) && x.phoneNumber == phoneNumber); //This line throws exception, around email.Equals()
if (member != null)
{
member.isConfirmed = true;
db.SubmitChanges();
}
else
throw new Exception("Member not found");
}
Run Code Online (Sandbox Code Playgroud)
如果我执行这样的搜索,则不会抛出异常:
private void confirmMembership(string email, int phoneNumber)
{
//var allMembers = db.tblMembers.AsEnumerable(); throws same exception
tblMember member = getAllMembers().FirstOrDefault(x => x.email == …Run Code Online (Sandbox Code Playgroud) c# ×6
linq ×3
validation ×2
aforge ×1
asp.net ×1
compare ×1
java ×1
json ×1
linq-group ×1
linq-to-sql ×1
logging ×1
memoization ×1
search ×1
wcf ×1