我有一个表单有时会链接到一些查询字符串参数.问题是,当我回发表单时,查询字符串参数仍然存在.这不是我设置它的方式的问题,但我只是不喜欢它在那里,并且如果你需要按特定顺序检查输入,可能会发现它是一个问题.
有没有办法以简单,干净的方式清除查询字符串参数?我知道我可以改变按钮上的PostBackURL,但这看起来效率不高.
我有一个页面上有一堆用户控件.我希望能够在我的代码中替换的内容中直接使用"宏"或"占位符".这应该不重要,但我使用Ektron作为我的CMS.
在发送到客户端之前,是否有任何页面事件可以挂钩以对整个呈现的页面内容进行字符串替换?
UPDATE
这是我目前用来完成此任务的代码:
protected override void Render(HtmlTextWriter writer)
{
string content = string.Empty;
using (var stringWriter = new StringWriter())
using (var htmlWriter = new HtmlTextWriter(stringWriter))
{
// render the current page content to our temp writer
base.Render(htmlWriter);
htmlWriter.Close();
// get the content
content = stringWriter.ToString();
}
// replace our placeholders
string newContent = content.Replace("$placeholder1$", "placeholder1 data").Replace("$placeholder2$", "placeholder2 data");
// write the new html to the page
writer.Write(newContent);
}
Run Code Online (Sandbox Code Playgroud) 如果您阅读有关使用数据注释验证器进行验证的本文,则表明您可以使用MetadataType属性将验证属性添加到部分类的属性中.在使用LINM to SQL,Entity Framework或Subsonic等ORM时,可以使用它.然后,您可以使用"automagic"客户端和服务器端验证.它与MVC非常吻合.
但是,我的一位同事使用界面来完成完全相同的结果.它看起来几乎完全相同,并在功能上完成同样的事情.所以不要这样做:
[MetadataType(typeof(MovieMetaData))]
public partial class Movie
{
}
public class MovieMetaData
{
[Required]
public object Title { get; set; }
[Required]
[StringLength(5)]
public object Director { get; set; }
[DisplayName("Date Released")]
[Required]
public object DateReleased { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
他这样做了:
public partial class Movie :IMovie
{
}
public interface IMovie
{
[Required]
object Title { get; set; }
[Required]
[StringLength(5)]
object Director { get; set; }
[DisplayName("Date Released")]
[Required]
object DateReleased { get; …Run Code Online (Sandbox Code Playgroud) validation model-view-controller interface metadatatype data-annotations
具体来说,任何人都可以给我具体的例子,说明何时或何时不使用嵌套类?
我永远都知道这个功能,但从来没有理由使用它.
谢谢.
在开发具有成员资格功能的站点时,大多数人是否使用.NET的SqlMembershipProvider,SqlRoleProvider和SqlProfileProvider?
或者许多人完全建立自己的提供者,甚至自己的会员制度?
SQL提供程序的哪些限制会让您自己推出?
是否可以轻松扩展SQL提供程序以提供其他功能?
对于Reference
Per Scott Gu的博客,Microsoft提供了SqlMembershipProvider的源代码,以便您可以自定义它,而不是从头开始.只是一个FYI.
c# asp.net sqlmembershipprovider sqlroleprovider sqlprofileprovider
看起来GetObjectKey具有搜索现有的实例化对象以及数据存储的好处.但是,它似乎也失去了一些强类型,并且需要转换生成的对象:
GetObjectKey
int customerID = 1;
EntityKey key = new EntityKey("MyEntities.Customers", "CustomerID", customerID);
Customer customer = context.GetObjectByKey(key) as Customer;
Run Code Online (Sandbox Code Playgroud)
与LINQ
int customerID = 1;
Customer customer = (from c in context.Customers
where c.CustomerID = customerID
select c).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
就个人而言,由于打字,我更喜欢后一种方法.此外,您的DAL将相当统一,所有Get方法都是查询,尽管这只是个人偏好.
你们男孩和女孩用的是什么?
我之前已多次使用过这两个配置文件,但我从未花时间充分了解它们的工作原理.正如大多数人所做的那样,我理解了如何调用WebConfigurationManager.AppSettings["key"]获取配置值的基础知识.
以下是我提出的一些问题:
c# configurationmanager appsettings application-settings webconfigurationmanager
我有一些XSLT在Sitecore 6 CMS中呈现,但我不认为这个问题是特定于产品的.
如果我有一个自动关闭的img或br标签,就像这样:
<br />
<img src="your.example.com" />
Run Code Online (Sandbox Code Playgroud)
结果输出将是:
<br>
<img src="your.example.com">
Run Code Online (Sandbox Code Playgroud)
XSLT文件的输出方法是HTML.它应该是XML吗?我猜测自关闭标签不是有效的HTML,但是将它设置为XML会导致输出问题吗?
我看到另一个开发人员编写的代码看起来像这样:
var stringBuilder = new StringBuilder();
if(stringBuilder == null)
{
// Log memory allocation error
// ...
return;
}
Run Code Online (Sandbox Code Playgroud)
(这是代码中的所有地方)
问题1:该错误记录代码是否会被调用?如果没有记忆,那么System.OutOfMemoryException第一行就不会被抛出?
问题2:对构造函数的调用是否可以返回null?
c# ×6
asp.net ×5
.net ×1
appsettings ×1
class ×1
class-design ×1
dom ×1
ektron ×1
html ×1
interface ×1
javascript ×1
linq ×1
metadatatype ×1
nested ×1
nested-class ×1
postback ×1
postbackurl ×1
query-string ×1
render ×1
validation ×1
xhtml ×1
xml ×1
xslt ×1