我正在运行一个需要能够读取当前用户的登录ID的网页.这是我正在使用的代码:
string id = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
Run Code Online (Sandbox Code Playgroud)
目前,这将返回正确的登录,但是当我在此方法中使用它时:
protected Boolean isPageOwner()
{
string id = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
alert("User: " + id);
if (id.Equals(pageOwnerID))
{
return true;
}
if (accessPermission.ContainsKey(id))
{
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
即使返回的id与pageOwnerID相同,该方法也返回false.我真的不确定我遇到问题的哪一部分.
另外,我的登录ID的格式为string1/string2,但代码将其检索为string1 + string2而不使用斜杠.
任何建议表示赞赏.
问候.
我正在寻找能够忠实地将.html文件转换为图像格式的任何实用程序 - 首选png或jpeg.我用Google搜索了几个小时并下载了十几个免费试用版,但似乎没有任何工作.Adobe Acrobat Pro几乎可以使用,但它决定缩小表格单元以适应页面,而不是缩小整个表格.
任何建议表示赞赏.
问候.
我正在尝试在 Windows 窗体文本框中捕获 Enter 键。我从教程中得到了这段代码:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
//
// Detect the KeyEventArg's key enumerated constant.
//
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("You pressed enter! Good job!");
}
else if (e.KeyCode == Keys.Escape)
{
MessageBox.Show("You pressed escape! What's wrong?");
}
}
Run Code Online (Sandbox Code Playgroud)
但现在我的代码抛出一个编译/构建错误:
The event 'System.Windows.Forms.Control.Enter' can only appear on the left hand
side of += or -= Line 44 Column 84
Run Code Online (Sandbox Code Playgroud)
一方面我不明白错误信息。另一方面,第 44 行是一个只有换行符的空白行。
任何建议表示赞赏。
问候。
我正在从Excel工作表中读取数据.一些数据是百分比值,这些值自动转换为小数 - 即90% - > 0.90.我似乎无法找到阻止这种情况发生的事情.此外,Excel表格字符串上的数据不是全部吗?那么为什么数字格式会发生呢?
任何建议表示赞赏.
问候.
我在winform中使用Microsoft.Office.Interop.Excel,我正在读取一个excel文件,处理数据并输出新的excel文件.但是我在写入单元格时遇到问题 - 特别是添加列标题.这是代码:
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Worksheet ws = (Worksheet)wb.Worksheets[1];
for (int i = 0; i < dt.Columns.Count; i++)
{
for (int j = 0; j < dt.Rows.Count; j++)
{
ws.Cells[j + 1, i] = dt.Rows[j][i].ToString();
}
}
ws.Cells[0, 0] = "Ticket Number";
ws.Cells[0, 1] = "Transit";
ws.Cells[0, 2] = "Outage Start Date";
ws.Cells[0, 3] = "Outage End Date";
ws.Cells[0, 4] = "Business Impact";
wb.Worksheets.Add(ws);
Run Code Online (Sandbox Code Playgroud)
其中"dt"是我的DataTable.嵌套的for循环不会抛出运行时错误,但后面的代码会抛出.错误只是说:COM异常未处理,来自HRESULT的异常:0x800A03EC.
任何建议表示赞赏.
问候.
这段代码已经工作了很长时间,但是当我尝试将DateTime.Now作为outageEndDate参数传递时,它已经破了:
public Outage(DateTime outageStartDate, DateTime outageEndDate, Dictionary<string, string> weeklyHours, string province, string localProvince)
{
this.outageStartDate = outageStartDate;
this.outageEndDate = outageEndDate;
this.weeklyHours = weeklyHours;
this.province = province;
localTime = TimeZoneInfo.FindSystemTimeZoneById(timeZones[localProvince]);
if (outageStartDate < outageEndDate)
{
TimeZoneInfo remoteTime = TimeZoneInfo.FindSystemTimeZoneById(timeZones[province]);
outageStartDate = TimeZoneInfo.ConvertTime(outageStartDate, localTime, remoteTime);
outageEndDate = TimeZoneInfo.ConvertTime(outageEndDate, localTime, remoteTime);
Run Code Online (Sandbox Code Playgroud)
我在最后一行得到的错误消息是在DateTime参数(outageEndDate)上没有正确设置Kind属性.我用谷歌搜索并检查了SO的例子,但我真的不明白错误信息.
任何建议表示赞赏.
问候.
编辑 - 确切的错误消息是:
The conversion could not be completed because the supplied DateTime did not have the Kind
property set correctly. For example, when the Kind property is DateTimeKind.Local, …
Run Code Online (Sandbox Code Playgroud) 我试图使用HtmlAgilityPack提取一些内部文本.这是感兴趣的HTML:
<select name="Archives" onchange="javascript:setTimeout('__doPostBack(\'Archives\',\'\')', 0)" id="Archives" style="width:200px;">
<option selected="selected" value="Dashboard_Jul-2012">Dashboard_Jul-2012</option>
<option value="Dashboard_Jun-2012">Dashboard_Jun-2012</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我在用:
string output = htmlwriter.InnerWriter.ToString()
var doc = new HtmlDocument();
doc.LoadHtml(output);
string inner = doc.DocumentNode.SelectSingleNode("//option[@selected='selected']").InnerText;
Run Code Online (Sandbox Code Playgroud)
但我得到的只是空字符串.
任何建议表示赞赏.
问候.
可能的重复:
具有值“变量”的字典
我有一些高度耦合的代码,我正在尝试解耦。如果我能制作一本这样的字典:
Dictionary<string, var> dict = new Dictionary<string, var>
Run Code Online (Sandbox Code Playgroud)
可以修复很多耦合。另一个线程中的一位发帖人似乎找到了使用变量类的解决方案,但他/她没有发布该类的任何详细信息,我不知道如何做到这一点。
编辑:
基本上,而不是:
string transit = <string value>;
Run Code Online (Sandbox Code Playgroud)
我希望能够写:
string dict["Transit"] = <string value>;
Run Code Online (Sandbox Code Playgroud)
我已经完成的地方:
Dictionary<string, var> dict = new Dictionary<string, var>()
{
{"Transit", transit}
};
Run Code Online (Sandbox Code Playgroud)
这可能是不可能的,但欢迎任何建议。
问候。
c# ×7
excel ×2
html ×2
asp.net ×1
com-interop ×1
datetime ×1
dictionary ×1
formatting ×1
image ×1
variables ×1
winforms ×1