我正在运行一个需要能够读取当前用户的登录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