假设我有一些随机的.cs文件,其中包含一个具有各种属性和方法的类.
如何迭代所有这些公共字符串属性的名称(作为字符串)?
Example.cs:
Public class Example
{
public string FieldA {get;set;}
public string FieldB {get;set;}
private string Message1 {get;set;}
public int someInt {get;set;}
public void Button1_Click(object sender, EventArgs e)
{
Message1 = "Fields: ";
ForEach(string propertyName in this.GetPublicStringProperties())
{
Message1 += propertyName + ",";
}
// Message1 = "Fields: Field1,Field2"
}
private string[] GetPublicStringProperties()
{
//What do we put here to return {"Field1", "Field2"} ?
}
}
Run Code Online (Sandbox Code Playgroud) 问题很简单。
Page.PreLoad 的存在是否有技术原因,或者这只是方便您可以整齐地放置始终必须在 Load 代码之前执行的代码?
在 PreLoad 事件处理程序中添加代码与在 Load 事件处理程序顶部添加代码之间有区别吗?
使用 PreLoad 的典型场景是什么?
谢谢!
我正在开发我的第一个asp.net mvc应用程序,我正在使用自定义帮助程序,如官方网站上的示例中的Html.Label().
为了能够访问Html.Label,我必须放置
<%@ Import Namespace="BRG.Helpers" %>
Run Code Online (Sandbox Code Playgroud)
在每个视图的顶部.
有没有办法避免不必这样做?我读过有人提到有关web.config的内容,但我无法在任何地方找到它.
有人可以帮帮我吗?
考虑这个课程:
public class Column<T>
{
public string Header { get; set; }
public Func<T, string> ValueExpression { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
像这样使用:
var columns = new List<Column<Employee>>
{
new Column<Employee> {Header = "Employee Id", ValueExpression = e => e.EmployeeID.ToString()},
new Column<Employee> {Header = "Name", ValueExpression = e => e.FirstName + " " + e.LastName},
new Column<Employee> {Header = "Employee Birthday Year", ValueExpression = e => e.BirthDate.HasValue ? e.BirthDate.Value.Year.ToString() : ""},
new Column<Employee> { Header = "test", ValueExpression = e => …Run Code Online (Sandbox Code Playgroud) 我正在构建一个小型的Web应用程序,我们的客户可以在其中更新有关其公司的一些详细信息.客户目前没有登录名/密码,我们不想验证他们的注册,所以我们想给他们一个自动生成的密码/密钥来登录网站.
我们计划加密他们的customerId并将其交给客户,以便他可以在webapp上输入该密钥,以便我们将密钥解密为他的ID.
大约有1万名客户,他们并没有收到任何电子邮件,因此有些人会收到一封带有URL和代码的信件.这意味着客户必须输入代码,因此代码不能超过8个字符(最好是6个字符).
这是一个空模板:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int passwordLength = 6;
int customerId = 12345;
string encrypted = Crypter.Encrypt(customerId, "secretKey", passwordLength);
if (customerId == Crypter.Decrypt(encrypted, "secretKey"))
{
Console.WriteLine("It worked! Well done!");
}
}
}
public static class Crypter
{
public static string Encrypt(int input, string key, int passwordLength)
{
string encryptedString = "";
//do encrypt stuffz here
return encryptedString;
}
public static int Decrypt(string …Run Code Online (Sandbox Code Playgroud) 我正在ASP.NET MVC中构建一个网格,我有以下问题:
alt text http://thomasstock.net/mvcget.jpg
当用户添加/删除列时,会发生什么,表单被提交到http:// localhost:56156 /?columnsToDisplay = EmployeeId,当然网格会跳回到第1页.我希望将网格保留在页面上用户目前正在使用 所以我需要一种方法将当前的查询字符串参数包含在表单的action属性中.
另一种方式:我需要一种方法来对动作链接做同样的事情.但这不太必要,因为我总是可以用按钮替换a href并将它们放在一个表单中.但我宁愿不这样做.
我正在寻找没有javascript的解决方案!我可以在javascript中自己做,但我希望我的网格能够在禁用javascript的浏览器上完美运行.
任何帮助表示赞赏.
编辑:哦是的,为了使它更难,我也在寻找没有cookie /会话变量的解决方案.:-)
我有一个css问题,我坚持..我无法得到我的可点击标题链接获得100%的高度; 不使用javascript.
我在谷歌上搜索了很多东西,但没有一个能解决我的问题.
我得到这个结果:
alt text http://thomasstock.net/css100percent.jpg
这是我的HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table>
<thead>
<tr>
<th>
<a href="#">header 1</a>
</th>
<th>
<a href="#">some very very very very very very very very very long header 2</a>
</th>
<th>
<a href="#">3</a>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
cell a1
</td>
<td>
cell a2
</td>
<td>
cell a3
</td>
</tr>
<tr>
<td>
cell b1
</td>
<td>
cell b2 …Run Code Online (Sandbox Code Playgroud) .net ×3
c# ×3
asp.net ×2
asp.net-mvc ×2
cryptography ×1
css ×1
generics ×1
linq ×1
passwords ×1
reflection ×1