小编Eri*_*itz的帖子

在Episerver MVC中渲染块

我有一个问题,我在最后几天一直在努力.我正在尝试理解在使用MVC时块的渲染如何在Episerver 7中工作.

我目前的实际设置如下:

我创建了一个名为"TeaserBlock"的块类型,它具有以下几个属性:

[ContentType(DisplayName = "TeaserBlock", GUID = "571582c4-6b99-4c0a-b000-f62265e312a9", Description = "A Teaser Block for show!")]
public class TeaserBlock : BlockData
{
    [Display( GroupName = SystemTabNames.Content, Order = 1)]
    public virtual string TeaserHeading { get; set; }

    [Display(GroupName = SystemTabNames.Content, Order = 2)]
    public virtual string TeaserText { get; set; }    
}
Run Code Online (Sandbox Code Playgroud)

为此,我在Views/Shared /中有一个相应的局部视图,名为TeaserBlock.cshtml.我想这个以视图模式渲染块?

我最大的问题是让"页面编辑"工作,经过一些尝试和谷歌搜索后,我终于使用以下代码:

[TemplateDescriptor(Inherited = true,
    Tags = new string[] { RenderingTags.Preview },
    TemplateTypeCategory = TemplateTypeCategories.MvcController)]
public class PreviewBlockController : ActionControllerBase, IRenderTemplate<BlockData>
{
    public ActionResult Index(BlockData currentBlock) …
Run Code Online (Sandbox Code Playgroud)

episerver c#-4.0 episerver-7

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

SharePoint 2013 - 使用REST API的InfoPath表单无法获取数据

环境:SharePoint 2013 Online和InfoPath表单2013

我尝试使用REST API进行数据收集,并使用按钮来触发操作.

当我预览表格并第一次按下按钮时,我得到如下错误

无法为以下DataObject运行查询:Dev InfoPath中的文档无法运行指定的查询.
该文件不是有效的XML文件.
由于InfoPath正在脱机模式运行,因此无法检索某些表单数据.表单元素(如下拉列表)可能为空.确保您具有网络连接并且InfoPath处于联机模式.


当我第二次单击该按钮时,它可以接收数据.

当我将表单发布到SharePoint时,每次按下按钮时都会出现错误

无法找到此表单正常运行所需的XML数据.
已在服务器的Windows事件日志中添加一个条目.
记录ID:5566


任何的想法??
当我直接访问REST API链接时,我可以获得正确的数据.

sharepoint infopath

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

HttpContext.SignInAsync 之后获取当前 HttpRequest 中的 AuthenticationProperties

我正在使用 ASP.net Core MVC。在登录过程中,在 POST 控制器操作中,我将 HttpContext.SignInAsync 与包含 JWT 访问令牌的 AuthenticationProperties 结合使用。在同一个 HttpRequest 中,我无法重新获取这些属性来获取创建的访问令牌。

...
var claimsPrincipal = CreateClaimsPrincipal("userName");

var accessToken = new AuthenticationToken()
{
    Name = OpenIdConnectParameterNames.AccessToken,
    Value = TOKEN_VALUE
};
AuthenticationToken[] tokens = { accessToken };

var authenticationProperties = new AuthenticationProperties();
authenticationProperties.StoreTokens(tokens);
authenticationProperties.IsPersistent = true;

// Here we sign in the user
await HttpContext.SignInAsync(claimsPrincipal, authenticationProperties);

// Afterwards, we cannot access the access token either from
var tokenValueFromGetTokenAsync = HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken)
// Or with
var result = await HttpContext.AuthenticateAsync();
var …
Run Code Online (Sandbox Code Playgroud)

asp.net-core

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

移动数组中的元素c#

我有这个非常简单的数组,我希望能够移动一些项目.在c#中是否有任何内置工具来执行此操作?如果没有,你有任何建议如何做到这一点.

在例子中

var smallArray = new string[4];
smallArray[0] = "a";
smallArray[1] = "b";
smallArray[2] = "c";
smallArray[3] = "d";
Run Code Online (Sandbox Code Playgroud)

并且假设我想(以编程方式)移动索引2和0,创建

smallArray[0] = "c";
smallArray[1] = "a";
smallArray[2] = "b";
smallArray[3] = "d";
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# arrays

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

从代码中获取变量值并在aspx页面控件中使用

我有一个Web用户控件,我有控件需要从底层页面的变量或属性中提供一些数据.

<%@ Control Language="C#" AutoEventWireup="False" CodeFile="Header.ascx.cs" Inherits="Site.UserControls.Base.Header" %>
<asp:Literal runat="server" Text='<%# Testing %>' id="ltrTesting" />
Run Code Online (Sandbox Code Playgroud)

代码隐藏

namespace Site.UserControls.Base
{
    public partial class Header : UserControlBase
    {
        public string Testing = "hello world!";

        protected void Page_Load(object sender, EventArgs e)
        {
            //this.DataBind(); // Does not work
            //PageBase.DataBind(); // Does not work
            //base.DataBind(); // Does not work
            //Page.DataBind(); // Does not work
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我确实读过这个主题,但它不会解决我的问题,我认为这是因为这是一个用户控件,而不是一个页面.我想从代码中获取属性值

c# data-binding webusercontrol

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

按外部排序顺序对通用列表进行排序

我有一个通用列表

简化示例

var list = new List<string>()
  {
    "lorem1.doc",
    "lorem2.docx",
    "lorem3.ppt",
    "lorem4.pptx",
    "lorem5.doc",
    "lorem6.doc",
  };
Run Code Online (Sandbox Code Playgroud)

我想要做的是根据外部列表排序对这些项目进行排序

在例子中

var sortList = new[] { "pptx", "ppt", "docx", "doc" };

// Or
var sortList = new List<string>() { "pptx", "ppt", "docx", "doc" };
Run Code Online (Sandbox Code Playgroud)

是否有任何内置的linq可以帮助我实现这一点,还是我必须采取foreach方式?

c# linq

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

在iOS上的Safari中全屏打开网页

在iOS上的Safari中有一个全屏模式.是否可以通过javascript或类似方式激活它?

谢谢

javascript mobile-safari ios

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

获取NHibernate错误抛出类型'Antlr.Runtime.NoViableAltException'的异常

我在查询包含其名称空间的表时遇到了一些问题

如果我写一个sql-query它工作正常,即SELECT*FROM [product groups],但是当使用NHibernate CreateQuery时,一切都会中断

using (ISession session = SessionFactory.OpenSession())
{
    IQuery query = session.CreateQuery("FROM [product groups]");
    IList<ProductGroups> results = query.List<ProductGroups>();
}
Run Code Online (Sandbox Code Playgroud)

会产生错误

抛出了类型'Antlr.Runtime.NoViableAltException'的异常.靠近第1行,第5列

NHibernate.Hql.Ast.ANTLR.HqlParseEngine.Parse()中的NHibernate.Hql.Ast.ANTLR.ErrorCounter.ThrowQueryException()
...

如果我使用CreateSQLQuery它的工作原理

ISQLQuery query = session.CreateSQLQuery("SELECT ID, Title, [Available as develop] FROM [product groups]").AddEntity(typeof(ProductGroups));
IList<ProductGroups> results = query.List<ProductGroups>();
Run Code Online (Sandbox Code Playgroud)

映射文件如下所示

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true">
  <class name="ListModels.ProductGroups, ListModels" lazy="true" table="Product groups">
    <id name="ID">
      <generator class="native" />
    </id>
    <property name="Title" />
    <property name="AvailableAsDevelopmentLicense" column="Available as develop" />
  </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

为什么CreateQuery不起作用?

c# nhibernate nhibernate-mapping

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

使用umbraco的iis应用程序池使用过多的内存

我们有一个umbraco 4.11实例,有大约400个节点,运行在iis 7.5,.net 4,windows 2008 r2上.在第一次访问时它消耗大约500mb的内存并且移动到大约900mb.由于该站点将部署在共享主机上,这将导致我们的大量问题.

我已经尝试跟踪内存泄漏的自定义代码,但一无所获.我还在应用程序池内存转储上运行Windbg以查找以下报告:

--- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal    
Free                                    461      7fb`9ab99000 (   7.983 Tb)           99.79%    
<unknown>                              1201        4`4ec32000 (  17.231 Gb)  98.00%    0.21%    
Image                                  2604        0`1123e000 ( 274.242 Mb)   1.52%    0.00%    
Heap                                     74        0`037c2000 (  55.758 Mb)   0.31%    0.00%    
Stack                                   172        0`01c00000 (  28.000 Mb)   0.16%    0.00%    
Other                                     9        0`001b2000 (   1.695 Mb)   0.01%    0.00%    
TEB                                      57        0`00072000 ( 456.000 kb)   0.00%    0.00%    
PEB                                       1        0`00001000 (   4.000 kb)   0.00% …
Run Code Online (Sandbox Code Playgroud)

asp.net memory-management windbg umbraco iis-7.5

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

从PHP到.NET WCF服务发布字节数组

我得到了一个WCF接收文件的方法的服务,看起来像这样

public bool UploadFile(string fileName, byte[] data)
{
   //...
}
Run Code Online (Sandbox Code Playgroud)

我想做的是在PHP的WCF服务中将数据发布到此方法,但是如果甚至可以将字节数组从PHP发布到由WCF服务托管的.NET方法,则不知道.

所以我在考虑这样的事情

$file = file_get_contents($_FILES['Filedata']['tmp_name']); // get the file content
$client = new SoapClient('http://localhost:8000/service?wsdl');

$params = array(
    'fileName' => 'whatever',
    'data' => $file 
);

$client->UploadFile($params);
Run Code Online (Sandbox Code Playgroud)

这是可能的还是有任何一般性建议我应该知道吗?

php c# wcf

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