小编Nul*_*ion的帖子

RenderControl方法不渲染自关闭标记

RenderControl方法有一个奇怪的问题.

我有这个标记的UserControl(ASCX文件):

<ul>
<asp:Repeater ID="rptImages" runat="server">
    <ItemTemplate>
        <li>
            <a href="<%# ((Image)Container.DataItem).Url %>">
                <img src="<%# ((Image)Container.DataItem).Url %>?mw=80&mh=50" title="<%# ((Image)Container.DataItem).Title %>" alt="<%# ((Image)Container.DataItem).Alt %>" />
                <p><%# ((Image)Container.DataItem).Description %></p>
            </a>
        </li>
    </ItemTemplate>
</asp:Repeater>
</ul>
Run Code Online (Sandbox Code Playgroud)

当此代码在正常页面生命周期中执行时(例如,当它被添加到页面时),它会将有效的XHTML呈现为标记:

<ul>
    <li>
        <a data-fullscreen="/someimage.jpg" href="/another-image.jpg">
             <img src="/myimage?mw=80&mh=50" title="Image Title" alt="Alt Text" />
             <p></p>
        </a>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

请注意p标记如何具有结束标记(即使它是空的),并且图像标记也有结束标记.

当我在服务器上实例化此控件并尝试使用RenderControl()方法将其解析为字符串时,如下所示:

StringBuilder builder = new StringBuilder();
using (StringWriter writer = new StringWriter(builder))
{
    using (XhtmlTextWriter htmlWriter = new XhtmlTextWriter(writer))
    {
        var control = (GalleryControl)LoadControl("~/layouts/Controls/Gallery/GalleryControl.ascx");
        control.Images = m_images;
        control.RenderControl(htmlWriter);
    }
}
return …
Run Code Online (Sandbox Code Playgroud)

c# asp.net sitecore sitecore6

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

RavenDB 2.x异步中的RegisterIdConvention

我正在尝试利用RavenDB的DocumentConvention API在我的域对象上自动设置增量ID.

我在IDocumentStore上使用这行代码完美地工作了:

DocumentStore.Conventions.RegisterIdConvention<User>
    ((dbname, commands, user) => "users/" + commands.NextIdentityFor("users"));
Run Code Online (Sandbox Code Playgroud)

每当我存储没有已设置ID的新User对象时,这将创建具有"users/1","users/2"等的用户对象的顺序ID .

但是,我想为Async文档会话执行此操作,但是在调用RegisterAsyncIdConvention()时无法找到有关如何从会话中获取"Next Identity"的任何文档...

docStore.Conventions.RegisterAsyncIdConvention<User>
    ((dbname, commands, user) => "users/" + commands.NextIdentityFor("users"));
Run Code Online (Sandbox Code Playgroud)

......不编译,因为NextIdentityFor不可用的IAsyncDatabaseCommands接口.

任何人都可以给我任何提示吗?还有人试过这个吗?

谢谢.

c# asynchronous ravendb

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

标签 统计

c# ×2

asp.net ×1

asynchronous ×1

ravendb ×1

sitecore ×1

sitecore6 ×1