小编Roc*_*ark的帖子

LINQ表达式中的异常处理

我有一个简单的LINQ表达式,如:

newDocs = (from doc in allDocs
       where GetDocument(doc.Key) != null
       select doc).ToList();
Run Code Online (Sandbox Code Playgroud)

问题是,GetDocument()可能会抛出异常.如何忽略GetDocument(doc.Key)== null或抛出异常的所有doc元素?

旧学校的相同代码如下:

foreach (var doc in allDocs)
            {
                try
                {
                    if (GetDocument(doc.Key) != null) newDocs.Add(doc);
                }
                catch (Exception)
                {
                    //Do nothing...
                }
            }
Run Code Online (Sandbox Code Playgroud)

c# linq-to-objects

16
推荐指数
3
解决办法
2万
查看次数

如何防止asp:RadioButtonList呈现HTML表?

我想渲染一个简单的列表 - 控件.我的ASP.NET代码隐藏看起来像:

RadioButtonList list = new RadioButtonList();
                    list.ID = rbl.name;
                    list.CssClass = rbl.cssClass;

                    foreach (radio radio in rbl.radio)
                    {
                        ListItem li = new ListItem();
                        li.Text = radio.label;
                        li.Value = radio.value;
                        li.Selected = radio.@checked;
                        list.Items.Add(li);

                    }
Run Code Online (Sandbox Code Playgroud)

但RadioButtonList自动呈现HTML表.如果我使用HtmlInputRadioButton一切正常但它在RenderControl()上崩溃

c# asp.net radiobuttonlist

8
推荐指数
1
解决办法
8996
查看次数

如何从ASP.NET页面访问Resource.resx?

我想从ASP.NET页面访问资源文件.我有一个名为"Resources"的文件夹,其中包含与页面处于同一级别的文件"WebResources.resx".生成的WebResources.Designer.cs中的公共类的名称也是"WebResources"我的页面名称是"formulargenerator.aspx".从代码隐藏的访问工作完美.我可以通过两种方式访问​​:

ResourceManager rm = new ResourceManager(typeof(WebResources));
string val = rm.GetString("Key");
Run Code Online (Sandbox Code Playgroud)

string val = WebResources.Key;
Run Code Online (Sandbox Code Playgroud)

但是,如果我不想重命名资源文件,如何直接从页面访问?我曾尝试使用App_LocalResources文件夹 - 无法访问.只有资源文件的名称与页面相同才有效.如何访问资源的语法?下面的代码不起作用.必须/我可以导入命名空间吗?

<asp:Label Text="<%$Resources: WebResources, Key%>" runat="server" />
Run Code Online (Sandbox Code Playgroud)

亲切的问候提前

asp.net

6
推荐指数
1
解决办法
2万
查看次数

如何使用LINQ重命名列表中的重复项

我需要一个唯一值列表.但可能是,列表中的值存在两次或更多次.如果发生这种情况,我必须重命名该值,但重命名的值也可以在列表中.

可以使用LINQ查询重命名值,这样我就不需要子查询了吗?

例1: 之前:"one","one","two","two","three" 之后:"one","one_","two","two_","three"

例2: 之前:"one","one","one_" 之后:"one","one_","one__"

第3个"one"有2个下划线,因为第2个"one"被重命名为"one_".

非常感谢你的想法......

c# linq

4
推荐指数
1
解决办法
2085
查看次数

从XslCompiledTransform.Transform输出中省略所有名称空间

如何在html-output中省略xslt中的所有XML-Namespace?

我的XSL开头:

<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
Run Code Online (Sandbox Code Playgroud)

我转换XML的代码如下

StringBuilder sb = new StringBuilder(600);
XslCompiledTransform xslTrans = new XslCompiledTransform();

xslTrans.Load(XslDoc);//loads the XSL

XmlWriterSettings writerSettings = new XmlWriterSettings();
writerSettings.OmitXmlDeclaration = true;
writerSettings.ConformanceLevel = ConformanceLevel.Auto;
writerSettings.NamespaceHandling = NamespaceHandling.OmitDuplicates;


using (XmlWriter stringWriter = XmlWriter.Create(sb, writerSettings))
{
    xslTrans.Transform(XmlDoc, xslArguments, stringWriter);
}
return sb.ToString();
Run Code Online (Sandbox Code Playgroud)

但是在生成的html输出中出现的命名空间如下:

<div class="newsFeed" xmlnsxs="http://www.w3.org/2001/XMLSchema" xmlnsfn="http://www.w3.org/2005/xpath-functions" >
Run Code Online (Sandbox Code Playgroud)

如何省略生成的输出中的所有命名空间?很酷,如果我可以通过修改XSL来做到这一点,那么用户可以更改他们的XSL以嵌入他们的命名空间,但默认情况下它将是干净的HTML-Code而不是xmlns.

xml xslt c#-4.0

1
推荐指数
1
解决办法
1126
查看次数

标签 统计

c# ×3

asp.net ×2

c#-4.0 ×1

linq ×1

linq-to-objects ×1

radiobuttonlist ×1

xml ×1

xslt ×1