小编Arm*_*est的帖子

在Webforms中生成带URL路由的URL

我知道在MVC框架中,你有Html类来创建URL:

Html.ActionLink("About us", "about", "home");
Run Code Online (Sandbox Code Playgroud)

但是如果你想在Webforms中生成Urls呢?

我没有找到关于使用Webforms生成URL的详细信息.

例如,如果我正在生成这样的路线:

Route r = new Route("{country}/{lang}/articles/{id}/{title}",
                  new ArticleRouteHandler("~/Forms/Article.aspx"));
Route r2 = new Route("{country}/{lang}/articles/",
                  new ArticleRouteHandler("~/Forms/ArticlesList.aspx"));

Routes.Add(r);
Routes.Add(r2);
Run Code Online (Sandbox Code Playgroud)

如何使用路由表数据生成URL.

如何根据我的路线生成URL?

例如./ ca /​​ en/articles/123 /文章标题没有

c# url routing url-routing

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

为什么ASP.Net重写runat = server锚控件的相对路径?

我的UserControls在我的解决方案的〜/ Controls文件夹中:

/Controls/TheControl.ascx
Run Code Online (Sandbox Code Playgroud)

如果指定以下内容:

<a id="theId" runat="server" href="./?pg=1">link text</a>
Run Code Online (Sandbox Code Playgroud)

ASP.Net似乎想要重写指向绝对位置的路径.例如,如果控件位于site.com/products/fish/cans.aspx上,则链接href将被重写为读取

<a id="munged_theId" href="../../Controls/?pg=1>link text</a>
Run Code Online (Sandbox Code Playgroud)

为什么Asp.Net重写这些控制路径,是否有一种优雅的方法来解决它?

我只是想让锚控件吐出我告诉它的确切内容!那么难吗?

编辑:

我基本上完成了凯尔西的建议.我知道我可以这样做,但是当我想要一些相对简单的东西时,我不喜欢在我的代码中添加标记.至少它解决了这个问题:

Aspx页面:

<asp:PlaceHolder ID="ph" runat="server"></asp:PlaceHolder>
Run Code Online (Sandbox Code Playgroud)

代码隐藏:

var anchor = new HtmlGenericControl("a") { InnerText = "Previous" + " " + PageSize) };
anchor.Attributes["href"] = "?pg=" + (CurrentPage - 1);
anchor.Attributes["class"] = "prev button";
ph.Controls.Clear();
ph.Controls.Add(anchor);
Run Code Online (Sandbox Code Playgroud)

正如你可以看到本质上应该是一个简单而轻量级的锚所需的代码量,它不是最优的解决方案.我知道我可以使用Literal,但我认为这更干净,因为我添加了多个锚点.

不过,我很有兴趣知道为什么ASP.Net接管并试图修复我的URL.

html asp.net anchor relative-path

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

获取HTML内容的前100个字符而不剥离标记

关于如何去除html标签有很多问题,但关于它们的函数/方法并不多.

这是情况.我有一个500字符的消息摘要(包括html标签),但我只想要前100个字符.问题是,如果我截断消息,它可能在html标签的中间...这会弄乱一些东西.

假设html是这样的:

<div class="bd">"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <br/>
 <br/>Some Dates: April 30 - May 2, 2010 <br/>
 <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <em>Duis aute irure dolor in reprehenderit</em> in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim …
Run Code Online (Sandbox Code Playgroud)

html c# asp.net

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

SQL关键字"ISABOUT"[不推荐使用?]应该替换为什么?

在MS SQL全文搜索中,我在查询中使用ISABOUT.

例如,这应该返回前10 ProductIDs(PK)与表中的RANK字段ProductDetails

SELECT * 
FROM CONTAINSTABLE( ProductDetails, *, ISABOUT("Nikon" WEIGHT (1.0), "Cameras" Weight(0.9)), 10 )
Run Code Online (Sandbox Code Playgroud)

但是,根据SQL文档 ISABOUT不推荐使用.

所以,我有两个问题:

  1. 什么ISABOUT被替换?
  2. 我还需要额外的SQL Command吗?(IOW,只是把搜索短语"尼康相机"变得更好?)

我原本试图在这里完成的是将第一个单词加权最高,然后加第二个单词降低,然后继续降低到0.5,我将其余单词排在0.5.

我的逻辑(也许是有缺陷的)是人们最相关的搜索词通常发生在短语的开头附近(英语).

  • 我是以错误的方式来做这件事的吗?
  • 有没有更好的办法?
  • 我问了太多问题吗?(^_^)

谢谢大家的时间......

sql sql-server full-text-search deprecated isabout

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

CSV导入按逗号分割 - 如何处理报价?

我有一个CSV文件我正在导入,但遇到了问题.数据格式如下:

TEST 690, "This is a test 1, 2 and 3" ,$14.95 ,4

我需要能够爆炸,不在引号内......

php regex csv

4
推荐指数
2
解决办法
5861
查看次数

将XML Feed读入XElement

我有一个我想阅读的Xm​​l Stream XElement.我见过使用的样品,XmlTextReader但我需要它XElement.

我到目前为止的代码:

string url = 
 String.Format( "http://dev.virtualearth.net/REST/v1/Locations/{0}?o=xml&key={1}", HttpUtility.UrlEncode( AddressQuery ), mapkey );

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;  

XmlTextReader reader = new XmlTextReader( url );
Run Code Online (Sandbox Code Playgroud)

我只是不确定如何让读者进入XElement.也许我会以错误的方式去做.

c# xml xelement bing-maps xmlstreamreader

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

XSLT匹配空节点

我有一个像以下XML结构:

<Root>
  <!-- ...other stuff -->
  <Events>
    <Event date="0000-00-00">Event Description etc...</Event>
    <Event date="0000-00-00">Event Description etc...</Event>
    <Event date="0000-00-00">Event Description etc...</Event>
  </Events>
  <!-- ...other stuff -->
</Root>
Run Code Online (Sandbox Code Playgroud)

然后我在样式表中有XSLT,如下所示:

<xsl:variable name="Events" select="/Root/Events/Event" />

<xsl:template match="/">
  <!-- Stuff -->    
  <xsl:apply-templates select="$Events" />
  <!-- Stuff -->    
</xsl:template>

<xsl:template match="Event">
  <!-- Regular Event Template Transformation here -->
</xsl:template>    

<!-- ERROR HAPPENS HERE -->
<xsl:template match="not(node())">
  <p class="message">There are currently no upcoming events</p>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

我想要做的是有两个模板,一个仅在没有事件时显示.我知道我可以使用XSLT <xsl:choose><xsl:when>测试来进行元素计数,只需调用正确的模板就像在过程语言中那样,但我正在尝试学习如何使用模板处理.

我得到的错误是: 表达式的预期结束,找到'('.not - >(< - node())

xml xslt xsl-stylesheet

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

在SQL全文搜索中使用通配符(*)和单词分组进行智能搜索

使用通配符和引用等所有常规内容实现MS SQL全文搜索的最佳方法是什么.例如:

如果用户输入的搜索词是

儿童过量服用"维生素C"*

我想将"维生素C"作为一个短语,并希望匹配"孩子"和"孩子"

文档提供了很多替代方案,很难区分它们.我希望能够在全文搜索中抛出上面的字符串并让它解读单词分组和通配符,但我认为它不那么聪明.

sql algorithm syntax search full-text-search

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

传递实现相同界面的不同内容

我有多个Linq2Sql类,如"Article""NewsItem""Product".

他们都有一个标题,他们都有一个唯一的ID,他们都有一个摘要.

所以,我创建了一个名为的接口 IContent

public interface IContent {
    int Id { get; set; }
    String Title { get; set; }
    String Summary { get; set; }
    String HyperLink { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我试图传递一个List<T>实现IContent,然后使用我在项目中的每个部分类中实现的那些公共属性.

所以,只是澄清一下

Article是Linq实体.我创建了一个部分类并实现了IContent以下是Article.cs的片段:

   #region IContent Members

    public int Id {
        get {
            return this.ArticleID;
        }
        set {
            this.ArticleID = value;
        }
    }
Run Code Online (Sandbox Code Playgroud)

很简单.在我的代码中,我正在尝试这个,但我不知道我哪里出错了:

List<IContent> items;

MyDataContext cms = new MyDataContext();

items = cms.GetArticles();  
// ERROR: Can not implicitly convert List<Article> …
Run Code Online (Sandbox Code Playgroud)

c# polymorphism interface covariance linq-to-sql

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

Pythonic从字典中获取ID列表的方法

假设我有以下数据结构

theValues = [
  { "id": "123", "name": "foo" },
  { "id": "321", "name": "bar" },
  { "id": "231", "name": "baz" }
]
Run Code Online (Sandbox Code Playgroud)

获取ID列表的最佳Python方法是[123,321,231]什么?

如果这是javascript,我可能只是使用匿名函数对列表中的每个元素使用过滤器,但我似乎无法找到Python等价物.我知道我可以做以下事情:

myList = []
for v in theValues: myList.append(v["id"])
Run Code Online (Sandbox Code Playgroud)

最后,我想将字典列表缩减为以逗号分隔的列表,我想我可以用连接来做...虽然这种语法对我来说仍然很奇怪.有没有更好的办法?

myListIds = ",".join( myList )
Run Code Online (Sandbox Code Playgroud)

这是最常见的做法吗?在PHP中,我可以做类似的事情:

$myListIds = implode(",", array_map( values, function( v ) { return v["ID"]; } ));
Run Code Online (Sandbox Code Playgroud)

python arrays dictionary array-map python-3.x

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