使用ASP.Net(在C#中),我需要生成一个包含人名,地址等的标签。我几乎没有任何使用ASP.NET(或.NET语言)的经验,我得到了这个任务。有人可以指导我改正道路吗?
链接应如下所示:
需要将以下组件/字段发送到API,以便为用户预先填充信息: 名字, 姓, SupplierID =整数, Person的userlogin(应增加1.示例:person 1 = t00001.Person2 = t00002等), PayerCountry, 电子邮件, 量
出于某种原因,我的管理层认为这是非技术人员可以做的事情!任何帮助将不胜感激!
谢谢!
答案 0 :(得分:1)
我喜欢首先为这种庞大的字符串构造设置数据结构。在这种情况下,字典可以工作:
string CreateUrl(string firstName, string lastName, int supplierID, int login, string payerCountry, string email, decimal amount)
{
int personId = 0;
var query = new Dictionary<string, string>
{
{ "SupplierId", "36" },
{ "RegisteredUserLogin", "T" + login.ToString().PadLeft(5, '0') },
{ "Mode", "RegisteredLoginLess" },
{ "RegisteredModeFunction", "AutoShowTotals" },
{ "PayerCountry", payerCountry },
{ "ForcePayerEmail", email },
// etc ...
{ "FailureCallbackURL", "http://yourfailure.html" },
};
string baseUrl = "https://example.com/PRR/Info/Login.aspx?";
// construct the query string:
// join the key-value pairs with "=" and concatenate them with "&"
// URL-encode the values
string qstring = string.Join("&",
query.Select(kvp =>
string.Format("{0}={1}", kvp.Key, HttpServerUtility.UrlEncode(kvp.Value.ToString()))
)
);
return baseUrl + qstring
}
(请注意,查询字符串值必须进行URL编码,以确保它们不会与“&amp;”等保留的URL字符冲突。)
现在您可以在ASPX页面中构建URL:
<script runat="server">
public string URL
{
get
{
// TODO insert the user's fields here
return CreateUrl(FirstName, LastName, ...);
}
}
</script>
<a href='<%= URL %>'>Login</a>
另一个注意事项 - 听起来您想要为新用户构建自动递增ID。这是最容易使用的数据库(数据库可以比Web服务器更容易处理并发和持久性)。我建议将记录插入带有自动增量字段的表中,并使用数据库生成的值作为ID。