我有三个值,我必须作为参数传递给,例如strID,strName和strDate.
我想将这三个参数重定向到另一个页面Response.Redirect().可以任何人为我提供正确的查询字符串吗?
我想比较两个不同版本的对象,并在UI中显示它们的差异.
首先,我调用一个方法来了解这两个对象之间是否存在任何差异
方法是:
public bool AreEqual(object object1,object object2, Type comparisionType)
Run Code Online (Sandbox Code Playgroud)
如果上面的方法返回true,我调用GetDifferences方法来获得以下差异:
public ObjectDifference[] GetObjectDifferences(object object1, object object2, Type comparisionType)
{
ArrayList memberList = new ArrayList();
ArrayList differences = new ArrayList();
memberList.AddRange(comparisionType.GetProperties());
memberList.AddRange(comparisionType.GetFields());
for (int loopCount = 0; loopCount < memberList.Count; loopCount++)
{
object objVal1 = null;
object objVal2 = null;
MemberInfo member = ((MemberInfo)memberList[loopCount]);
switch (((MemberInfo)memberList[loopCount]).MemberType)
{
case MemberTypes.Field:
objVal1 = object1 != null ? ((FieldInfo)memberList[loopCount]).GetValue(object1) : null;
objVal2 = object2 != null ? ((FieldInfo)memberList[loopCount]).GetValue(object2) : null;
break; …Run Code Online (Sandbox Code Playgroud) 我使用WebRequest以这种方式异步下载URL中的图像:
public void Download(string url)
{
byte[] buffer = new byte[0x1000];
WebRequest request = HttpWebRequest.Create(url);
request.Method = "GET";
request.ContentType = "image/gif";
request.BeginGetResponse(result =>
{
WebRequest webRequest = result.AsyncState as WebRequest;
WebResponse response = webRequest.EndGetResponse(result);
ReadState readState = new ReadState()
{
Response = response.GetResponseStream(),
AccumulatedResponse = new MemoryStream(),
Buffer = buffer,
};
readState.Response.BeginRead(buffer, 0,
readState.Buffer.Length, ReadCallback, readState);
}, request);
}
public void ReadCallback(IAsyncResult result)
{
ReadState readState = result.AsyncState as ReadState;
int bytesRead = readState.Response.EndRead(result);
if(bytesRead > 0)
{
readState.AccumulatedResponse.BeginWrite(readState.Buffer, 0, …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序"header.ascx"中创建了一个用户控件,我将一个selectedMenu属性设置为此控件,控件在该控件上选择指定的selectedMenu值.假设,我已经通过了值"home"或"search",那么它将选择(突出显示)搜索菜单.
我想缓存这个控件,当selectedMenu属性的值发生变化时,只刷新缓存,否则它应该从缓存中获取控件?
是否可以在asp.net中缓存用户控件?我使用的是ASP.NET 2.0(C#)
我使用的是infragistics webgrid,需要格式化货币字符串.为此我需要一个包含模式的字符串,例如"$ ### ###,00",我希望这可以从我目前的CultureInfo中找到.我怎样才能做到这一点?我是否需要从以下信息中手动撰写:
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSeparator
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSizes
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalDigits
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalSeparator
Run Code Online (Sandbox Code Playgroud)
等等
这是单线解决方案吗?
.NET 2.0/VS2005
我正在尝试使用XslCompiledTransform该类来执行XSL转换.我有两个XSL文件,第一个包含对<xsl:include>语句形式的引用:
Main.xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="Included.xsl" />
...
...
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
现在,如果我可以将"Main.xsl"文件本身作为URI加载,我的转换代码就像下面这样简单:
// This is a function that works. For demo only.
private string Transform(string xslFileURI)
{
XslCompiledTransform xslt = new XslCompiledTransform();
// This load works just fine, if I provide the path to "Main.xsl".
// The xsl:include is automatically resolved.
xslTransform.Load(xslFileURI);
StringWriter sw = new StringWriter();
xslt.Transform(Server.MapPath("~/XML/input.xml"), null, sw);
return sw.ToString();
}
Run Code Online (Sandbox Code Playgroud)
问题是我收到Main.xsl文件的内容为字符串,需要加载字符串作为XmlReader/IXpathNavigable.这是此时的必要限制.当我尝试使用a执行相同操作时XmlReader/XpathDocument,它会失败,因为代码在C:\Program Files\Microsoft Visual Studio …
我需要针对模式验证XML文件.XML文件是在代码中生成的,在我保存之前,我需要验证它是否正确.
我已经把问题解决了它最简单的元素,但我遇到了问题.
XML:
<?xml version="1.0" encoding="utf-16"?>
<MRIDSupportingData xmlns="urn:GenericLabData">
<MRIDNumber>MRIDDemo</MRIDNumber>
<CrewMemberIdentifier>1234</CrewMemberIdentifier>
<PrescribedTestDate>1/1/2005</PrescribedTestDate>
</MRIDSupportingData>
Run Code Online (Sandbox Code Playgroud)
架构:
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="urn:GenericLabData" targetNamespace="urn:GenericLabData"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MRIDSupportingData">
<xs:complexType>
<xs:sequence>
<xs:element name="MRIDNumber" type="xs:string" />
<xs:element minOccurs="1" name="CrewMemberIdentifier" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
ValidationCode :(这段代码来自我编写的一个简单的应用程序来测试验证逻辑.XML和XSD文件存储在磁盘上并从那里读取.在实际的应用程序中,XML文件已经作为XmlDocument存储在内存中对象和XSD将从内部Web服务器读取.)
private void Validate()
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
//settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema;
//settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation;
//settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
settings.ValidationEventHandler += new ValidationEventHandler(OnValidate);
XmlSchemaSet schemas = new XmlSchemaSet();
settings.Schemas = schemas;
try
{
schemas.Add(null, schemaPathTextBox.Text);
using (XmlReader reader = …Run Code Online (Sandbox Code Playgroud) 我有一个提供投票按钮的用户控件(对于SO类型的投票模型) - 它包含一个保留记录ID的私有int成员.在转发器之外,它的功能很好 - 回发工作,并且正确的id保留在用户控件中.
在转发器内部,itemdatabound事件处理程序将正确的ID与usercontrol关联,并且它可以正常工作 - 从数据库中显示正确的投票计数.但是,当按下其中一个投票按钮时,它会触发对用户控件的回发,并且控件已丢失其私有int成员的内容,因此它不再起作用.
我已经尝试在回发时重新数据绑定usercontrol,并仅在初始加载时绑定它 - 问题是两种方式相同.
如何让usercontrol在回发中保留该int的值?
c# ×7
asp.net ×4
xml ×2
.net ×1
.net-2.0 ×1
asp.net-2.0 ×1
caching ×1
comparison ×1
cultureinfo ×1
currency ×1
diff ×1
escaping ×1
hierarchy ×1
image ×1
include ×1
object ×1
postback ×1
query-string ×1
reference ×1
repeater ×1
validation ×1
winforms ×1
xsd ×1
xslt ×1