标签: using

在剃刀视图中使用泛型方法

有没有办法使using语句在剃刀视图中使用泛型方法?例如,我想要webforms代码段

<% using(Html.BeginForm<Controller>(c => c.Method()))
   { %>
       Some code
<% } %>
Run Code Online (Sandbox Code Playgroud)

像这样转换成剃刀

@using(Html.BeginForm<Controller>(c => c.Method()))
{
    Some code
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为razor将其解释<Controller>为HTML标记.添加括号也不起作用,因为那时razor不包括开始和结束的大括号BeginForm.以下是我尝试过的不同方法,我不能再想了.

@using(Html.BeginForm<Controller>(c => c.Method())) // Interpreted as c# to '<Controller>'
{                                                   // interpreted as HTML
    Some code                                       // interpreted as HTML
}                                                   // interpreted as HTML

@(using(Html.BeginForm<Controller>(c => c.Method()))) // Interpreted as c#
{                                                     // interpreted as HTML
    Some code                                         // interpreted as HTML
}                                                     // interpreted as HTML

@{using(Html.BeginForm<Controller>(c => c.Method())) // Interpreted …
Run Code Online (Sandbox Code Playgroud)

generics using razor asp.net-mvc-3

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

导入整个命名空间与在C#中使用别名之间的性能?

导入整个命名空间与使用别名导入一个类之间是否存在性能差异?如果是这样,它有多大区别?


例子:

导入整个命名空间:

using System.Reflection;
Run Code Online (Sandbox Code Playgroud)

别名导入只有一个类:

using BindingFlags = System.Reflection.BindingFlags;
Run Code Online (Sandbox Code Playgroud)

c# performance alias namespaces using

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

在C#SQL Server调用的“使用”范围内,回滚是自动进行的吗?

众所周知,当为SQL Connection,Transaction和Command创建“ using”块时,众所周知,与using块关联的连接,事务或命令在离开using块之后会自行处理。

但是,如果在这些块之一中发生异常,例如在命令块中-事务是否会自行回滚,还是开发人员需要在命令“使用”块内进行try catch,然后添加回滚?尝试在事务处理语句中进行尝试?

c# sql transactions using rollback

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

DB2 MERGE语句错误

我尝试了以下几种变体,但我仍然遇到错误.任何方法来解决这个问题.DB2 10.1(DB2 for z/OS V10)

对于以下内容

MERGE INTO TRGT t
USING SRC s
ON (t.ACCTID=s.ACCTID AND s.SEQID=123)
WHEN MATCHED THEN
UPDATE SET
MyFlag = 'Y'
Run Code Online (Sandbox Code Playgroud)

错误:在""后面找到意外的令牌"SRC".预期的令牌可能包括:"(".SQLSTATE = 42601

SQLState:42601 ErrorCode:-104


但是对于以下内容

MERGE INTO TRGT t
USING (SELECT SEQID, ACCTID FROM SRC WHERE SEQID=123) s
ON (t.ACCTID=s.ACCTID)
WHEN MATCHED THEN
UPDATE SET
MyFlag = 'Y'
Run Code Online (Sandbox Code Playgroud)

错误:在""之后使用保留字"SELECT"无效.预期的代币可能包括:"价值".SQLSTATE = 42601

SQLState:42601 ErrorCode:-199

db2 merge using token

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

C++ 11'使用'类型别名的默认模板参数

我想为一个类型别名,以便在必要时可以给它一个模板参数.

template<typename T, unsigned d>
struct value
{
    T a[d];
};

template<typename T=float>
using val=value<T, 2>;

int main()
{
    val v;      //should now be equal to val<float> v;
    val<int> w; //should also be valid.
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

G ++因某些原因不赞成:

test.cpp: In function ‘int main()’:
test.cpp:12:13: error: missing template arguments before ‘v’
         val v;      //should now be equal to val<float> v;
             ^
test.cpp:12:13: error: expected ‘;’ before ‘v’
Run Code Online (Sandbox Code Playgroud)

默认模板参数不能与'using'一起使用吗?如果是这样,为什么不在行上说明默认参数?

templates using c++11

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

是否可以使用功能?

例如

template<class T, class U>
void f();

template<class T> using g = f<T, int>;
Run Code Online (Sandbox Code Playgroud)

或任何类似的功能的想法?

c++ using function c++11

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

我可以从linqpad查询中删除命名空间导入吗?

我正在尝试运行linqpad查询,但是默认名称空间导入之一的类型显然掩盖了我试图引用的类型。 System.Xml是linqpad中的默认导入之一,但我很少使用它。是否可以删除默认的名称空间导入,以便我可以使用自己的Formatting枚举?

namespaces using linqpad

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

有没有办法使用"使用"但保持文件打开?

通常,"使用"是正确访问和处理文件流的优选方法.

我经常需要打开文件(如下所示).在这种情况下可以采用"使用"结构吗?

public class logger
{
    private StreamWriter sw;
    public logger(string fileName)
    {
        sw = new StreamWriter(fileName, true);
    }

    public void LogString(string txt)
    {
        sw.WriteLine(txt);
        sw.Flush();
    }

    public void Close()
    {
        sw.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# using filestream

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

使用和使用=对于类型的区别?

请考虑以下两个using陈述:

using ::space1::space2::MyType;
using MyType = ::space1::space2::MyType;
Run Code Online (Sandbox Code Playgroud)

似乎在之后using,两种方式都允许我们MyType直接使用(没有任何限定符).

那么上面两个有什么区别呢?

c++ using

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

USING块在网站与Windows窗体中的行为不同

我在一些网站数据库代码中单步执行调试器,并在应用数据库更改之前结束执行.但他们仍然写入数据库!

我尝试使用Windows窗体应用程序重新创建问题,但它没有写入数据库(预期的行为).我回到了网站,它做到了.

这是一个简单的示例页面.我在一个网站运行它,如果它有所作为:

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Diagnostics" %>

<!DOCTYPE html>

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        using (MsSqlDataContextDataContext db = new MsSqlDataContextDataContext())
        {
            Product product = db.Products.First(p => p.id == 21);
            Debug.WriteLine("Line 1");
            // I learnt the hard way that if you try to update the database with the value
            // that already exists, it seems to get optimised away.
            // The update must a new value. 
            product.Type = "bogus" …
Run Code Online (Sandbox Code Playgroud)

c# asp.net using winforms

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