小编WoF*_*gel的帖子

访问模板化用户控件ASP.NET中的子控件

以下代码已简化.

用户控件ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="BaseFormControl.ascx.cs"
    Inherits="SOPR.CustomForms.BaseFormControl" %>
<fieldset class="fset1">
</fieldset>
Run Code Online (Sandbox Code Playgroud)

这是我的用户控件代码隐藏:

public partial class BaseFormControl : System.Web.UI.UserControl
    {



        [TemplateContainer(typeof(ContentContainer))]
        [PersistenceMode(PersistenceMode.InnerProperty)]
        public ITemplate Content { get; set; }



   void Page_Init()
        {




            if (Content != null)
            {
                ContentContainer cc = new ContentContainer();
                Content.InstantiateIn(cc);
                contentHolder.Controls.Add(cc);
            }
        }
Run Code Online (Sandbox Code Playgroud)

我在视图中的用法:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AddOperator.aspx.cs"
    Inherits="SOPR.Cadastro.AddOperator" MasterPageFile="~/MasterPage.Master" %>

<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" ID="maincont" runat="server"     EnableViewState="true">
    <uc:BaseFormControl ID="BaseFormControl1" runat="server">
        <Content>
      <asp:TextBox runat="server" CssClass="keytbcss" MaxLength="4" ID="keytb"
                NewLine="false" />
        </Content>
    </uc:BaseFormControl>
Run Code Online (Sandbox Code Playgroud)

我试图访问代码隐藏的"keytb"控件,但它就像它不存在(比如使用不存在的变量).有任何想法吗?

提前致谢.

解决方案--------------------------
我发现了一个非常好的解决方案,只需将[TemplateInstance(TemplateInstance.Single)]添加到ITemplate属性中即可.用户控制,一切都被看到.我现在可以使用就像它是一个普通的页面控件.

public partial class …
Run Code Online (Sandbox Code Playgroud)

c# asp.net user-controls templates

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

在NHibernate上缓存sqlquery时出现ArgumentNullException

环境: NHibernate 4.0.0.4000; NHibernate.Caches.SysCache 4.0.0.4000; Web MVC / API 4.5.1;FluentNHibernate 1.4.0.0; VS2013;

我正在尝试在nhibernate上缓存一个SQL查询(无需缓存即可完美运行),如下所示:

        return Session.CreateSQLQuery(sql)
            .AddScalar("Id", NHibernateUtil.Int32)
            .AddScalar("Summary", NHibernateUtil.String)
            .SetResultTransformer(Transformers.AliasToBean<ProductDto>())
            .SetCacheable(true)
            //.SetCacheRegion("Long") throws same error regardless of this
            .List<ProductDto>()
            ;
Run Code Online (Sandbox Code Playgroud)

但它一直抛出ArgumentNullException,请参阅详细信息:

Value cannot be null.
Parameter name: source
  at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source, Func`2 predicate)
   at NHibernate.Util.ArrayHelper.CountTrue(Boolean[] array)
   at NHibernate.Transform.CacheableResultTransformer.Create
   ...
Run Code Online (Sandbox Code Playgroud)

我试图使用另一个缓存提供程序,即NHibernate.Caches.RtMemoryCache,但是错误是相同的。

调用之后也不会记录任何休眠信息,因为该错误显然是在其管道的早期出现的。

使用Fluent NHibernate进行缓存配置:

 (OracleClientConfiguration.Oracle10.ConnectionString(connStr).AdoNetBatchSize(20000)).Cache(c => c.ProviderClass<SysCacheProvider>().UseSecondLevelCache().UseQueryCache())
Run Code Online (Sandbox Code Playgroud)

关于缓存设置的日志信息(如果我使用区域,自然会发生变化):

INFO  2014-11-03 08:51:33,474 [1    ] NHibernate.Cache.StandardQueryCache      - starting query cache at region: NHibernate.Cache.StandardQueryCache
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?还是这个问题缺少信息?

谢谢!

c# nhibernate caching fluent-nhibernate syscache

5
推荐指数
0
解决办法
293
查看次数

材质按钮未正确显示在预览中

这个问题与我的另一个问题有关:材料按钮 - 样式未正确应用,丑陋到地狱

在模拟器上运行时工作正常。API 为 21,Android Studio v3.2.1。有没有办法解决这个问题?

预览:

在此处输入图片说明

布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

    <com.google.android.material.button.MaterialButton
            android:id="@+id/material_button"
            style="@style/Widget.MaterialComponents.Button.TextButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Test" app:layout_constraintStart_toStartOf="parent"
            android:layout_marginStart="76dp" app:layout_constraintTop_toTopOf="parent"
            android:layout_marginTop="108dp"/>

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

摇篮:

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
//    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.android.material:material:1.0.0-beta01'
Run Code Online (Sandbox Code Playgroud)

显现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.test.materialbuttontest01">

    <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/Theme.MaterialComponents.Light.NoActionBar">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

android material-design

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

在VBA上计算SHA512(Excel 2003)

我正在尝试在VBA(Excel 2003)上计算字符串的哈希,但是当我调用时ComputeHash,它将抛出Invalid argument/procedure call错误。

DLL参考:mscorlib v4.0,System v4.0

MSDN参考:http : //msdn.microsoft.com/zh-cn/library/system.security.cryptography.sha512managed.aspx

 Sub Main()
        Dim instance As New SHA512Managed
        Dim data() As Byte
        data = StringToByte("mymsg")
        Dim result() As Byte
        instance.ComputeHash(data) 'Throws runtime error'
        MsgBox (ByteToString(result))
    End Sub

    Function StringToByte(ByVal s)
        Dim b() As Byte           
        b = s  'Assign Unicode string to bytes.'
        StringToByte = b
    End Function

    Function ByteToString(ByVal dBytes)
        Dim strText As String
        strText = dBytes
        ByteToString = strText
    End Function
Run Code Online (Sandbox Code Playgroud)

excel hash vba excel-vba sha512

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

使用可从Excel读取的C#代码创建.DBF(VFP与否)

语言:C#,系统:Windows7,Excel 2007

我想从一些数据创建.DBF,我想从Excel 2007打开它.它可以是dBase或foxpro.我目前正在使用FoxPro9(顺便说一句,这段代码来自互联网):

 OleDbConnection con = new OleDbConnection("Provider=VFPOLEDB.1;Data Source=C:\\Temp\\;");
            con.Open();
            OleDbCommand cmd1 = new OleDbCommand("Create Table TestDBF (Field1 I, Field2 C(10))", con);
            OleDbCommand cmd2 = new OleDbCommand("Insert Into TestDBF Values (1, 'Hello')", con);
            OleDbCommand cmd3 = new OleDbCommand("Insert Into TestDBF Values (2, 'World')", con);
            cmd1.ExecuteNonQuery();
            cmd2.ExecuteNonQuery();
            cmd3.ExecuteNonQuery();
            con.Close();
Run Code Online (Sandbox Code Playgroud)

这会生成我可以在DbfViewer中打开的文件,但是,我无法在Excel 2007中打开它,也不能在我拥有的某些应用程序中使用.我可以使用DbfViwer手动将FoxPro .dbf转换为dbaseIII dbf,但我希望它是自动的.

有任何想法吗?

提前致谢

c# excel dbf dbase visual-foxpro

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

在MVC3中,控制器如何知道不显眼的验证结果?

我正在使用C#,MVC3而且VS2010

我注意到即使valdiation结果为false,控制器方法仍然会被执行.这使得验证在服务器端无用.除非有办法获得结果.

----编辑-----
这就是我如何使用它.它做得好吗?至少显示验证消息,文本框变为红色.

模型:

public class CategoriaModel
{
    [Required(ErrorMessage="Nome é obrigatório!")]
    [StringLength(10, ErrorMessage = "First Name max length is 10")]
    public string Nome { get; set; }



}
Run Code Online (Sandbox Code Playgroud)

视图:

@Html.ValidationSummary(true)
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js") %>" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js") %>" type="text/javascript"></script>
@using (Html.BeginForm("Salvar", "Test", FormMethod.Post))
{


    @Html.LabelFor(m => m.Nome)
    @Html.EditorFor(m => m.Nome)
    @Html.ValidationMessageFor(m=>m.Nome)                           


    <input type="submit" value="Salvar" />
}
Run Code Online (Sandbox Code Playgroud)

控制器:

public ActionResult Salvar(CategoriaModel catModel)
        {

            ViewBag.StatusMessage = "Ok!";



            return View("Index");
        }
Run Code Online (Sandbox Code Playgroud)

c# validation controller asp.net-mvc-3

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

Oracle 10g - 删除时间组件

我有一个日期的文本字段,虽然有时它也有时间组件.例如:

"23/1/1999"
"25/2/2003 05:18:00"
Run Code Online (Sandbox Code Playgroud)

现在,我只想查询它们并仅按日期组件排序.我的尝试

TO_DATE(
       TO_CHAR(
           TO_DATE(mytextfield  , 'DD-MM-YYYY HH:MI:SS')
       ,'DD-MM-YYYY')
,'MON-YYYY')
Run Code Online (Sandbox Code Playgroud)

以上在TO_DATE外部失败(ORA-01843无效月份.)

TO_CHAR(
    TO_DATE(mytextfield   , 'DD-MM-YYYY HH:MI:SS')
,'DD-MM-YYYY')
Run Code Online (Sandbox Code Playgroud)

上面的工作,但我留下了一个字符串,而不是一个日期.

--------解决方案使用接受的答案

只是用

EXTRACT(MONTH FROM  TO_DATE(timetable.string_time)  , 'DD-MM-YYYY HH24:MI:SS'))

EXTRACT(YEAR FROM   TO_DATE(timetable.string_time)  , 'DD-MM-YYYY HH24:MI:SS'))
Run Code Online (Sandbox Code Playgroud)

如答案所述,您可以在ORDER BY和SELECT中交换使用它的顺序.

本月将需要一些数字格式,以及一些concats,但这非常有效.

sql oracle date

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