小编bza*_*fir的帖子

在Sql Server中更改用户定义的类型

我在DB中创建了几个用户定义的类型,如下所示

CREATE TYPE [dbo].[StringID] FROM [nvarchar](20) NOT NULL
Run Code Online (Sandbox Code Playgroud)

并分配到各种表格.db中的表格有各种模式(不仅仅是dbo)

但我意识到我需要更大的字段,我需要改变,例如从nvarchar增加到nvarchar,但是没有ALTER TYPE语句

我需要一个临时表/光标的脚本,并保存所有使用我的类型的表和字段.然后将现有字段更改为基本类型 - 例如从CustID [StringID]更改为CustID [nvarchar(20)].删除用户类型并使用新类型重新创建它 - 例如nvarchar(50),最后将字段设置为用户类型

我没有对类型定义规则,因此不必删除规则并重新添加它们

我对T-Sql不太熟悉,所以对任何帮助表示赞赏.

sql t-sql sql-server

49
推荐指数
4
解决办法
10万
查看次数

根据字符串创建ViewBag属性

有没有办法根据字符串为ViewBag创建和使用动态属性?

就像是

ViewBag.CreateProperty("MyProperty");
ViewBag.Property("MyProperty") = "Myvalue";
Run Code Online (Sandbox Code Playgroud)

谢谢

viewbag asp.net-mvc-3

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

如何为枚举提供用户友好名称?

我有一个类似的枚举

Enum Complexity
{
  NotSoComplex,
  LittleComplex,
  Complex,
  VeryComplex
}
Run Code Online (Sandbox Code Playgroud)

我想在下拉列表中使用它,但不希望在列表中看到这样的Camel名称(对用户来说看起来很奇怪).相反,我希望有正常的措辞,如不那么复杂的小复杂(等)

此外,我的应用程序是多语言,我希望能够显示这些字符串本地化,我使用帮助器,TranslationHelper(字符串strID),它给我一个字符串ID的本地化版本.

我有一个工作的解决方案,但不是很优雅:我为枚举创建一个辅助类,其中一个成员Complexity和ToString()被覆盖,如下所示(代码简化)

public class ComplexityHelper
{
    public ComplexityHelper(Complexity c, string desc)
    { m_complex = c; m_desc=desc; }

    public Complexity Complexity { get { ... } set {...} }
    public override ToString() { return m_desc; }

    //Then a static field like this 

    private static List<Complexity> m_cxList = null;

    // and method that returns the status lists to bind to DataSource of lists
    public static List<ComplexityHelper> GetComplexities() 
    {
        if (m_cxList == null) …
Run Code Online (Sandbox Code Playgroud)

.net c# enums localization naming-conventions

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

Linq和条件总和

我有一个类和一个列表如下:

class C1
{
    int RecType ...;
    decimal Income ...;
    decimal Outcome ...;
}

List<C1> myList ...;
Run Code Online (Sandbox Code Playgroud)

该列表加载了几个记录,它们在RecType中有各种值我想要的是计算收入和结果的总数,但仅限于RecType的某个值

这是我需要得到的伪代码

totalIncome = myList.Sum(Income).Where(RecType==1);
Run Code Online (Sandbox Code Playgroud)

我怎样才能用linq实现这个目标?

谢谢

linq

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

什么是ScriptBundle中的{version}("〜/ scripts/jquery- {version} .js")

我尝试开始使用MVC SPA应用程序,我在BundleConfig中注意到以下内容:

 ScriptBundle("~/scripts/jquery-{version}.js")
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?什么是{version}以及它取自何处?

哪里可以找到更多信息,B​​undleConfig如何工作以及如何定制它?

谢谢

asp.net-mvc bundle single-page-application

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

从REST服务方法返回原始字符串

我有一个用C#编写的REST服务方法,定义如下:

[WebGet(UriTemplate = "/{par1}/{par2}/{par3}")]
public string ProcessGet(string par1, string par2, string par3)
{
    return Execute(...);
}
Run Code Online (Sandbox Code Playgroud)

它应该以XML或JSON的形式返回结果,基于一个参数(我生成json和XML序列化)

我怎样才能使这个方法返回RAW字符串,就像我创建它一样,没有HTMLEncoding呢?

谢谢

rest wcf html-encode c#-4.0

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

malloc和Marshal.AllocHGlobal之间有什么区别?

我在C#中编写了一个模块,它导出了一些在C中使用的函数.我需要为C < - > C#之间的一些结构分配一些内存.

我在CI中分配的内容使用malloc,而在C#中我使用Marshal.AllocHGlobal()(分配非托管内存以传递给C).

如果我释放()使用Marshal.AllocHGlobal分配的内存,并且我使用malloc分配的Marshal.FreeHGlobal()释放内存,是否有任何问题?

谢谢

c c# pinvoke unmanaged

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

MVC3编辑十进制字段和本地化

我的语言环境使用逗号,,而不是.小数点分隔符的点.

在MVC3中,当我打开一个显示小数值的编辑视图时

@Html.EditorFor(model => model.MyDecimalVal)
Run Code Online (Sandbox Code Playgroud)

值正确显示.

当我用逗号输入值时,我得到错误"值不是数字",如果我用点输入值,我没有错误,但实际上没有保存任何值.

如何处理这种情况?

asp.net-mvc localization number-formatting asp.net-mvc-3

10
推荐指数
2
解决办法
8171
查看次数

更新到5.1.0后将数据发布到WebApi失败

我有一个使用webapi加载/保存数据的Web应用程序所有用于工作正常/今天我发现有一个更新到ASP.NET MVC/webapi,我安装了更新但是之后使用jquery的POSTing数据不再有效.我在客户端代码或webapi控制器中没有做任何更改.

我的典型POSt语句如下所示:

showProgress(true, self.PanelID(), 'Saving...')
j$.ajax({
    type: "POST",
    url: uri,
    data: dataObj,
    error: function (jqXHR, status, error) {
        showProgress(false);
        GLOBAL.setMessage(self, 'Error saving ' + opType + '<br>' + error, true);
    },
    success: function (data, status, jqXHR) {
        showProgress(false);
        if (status === 'success') {
        GLOBAL.setMessage(self, opType + " saved ok");
        //....
Run Code Online (Sandbox Code Playgroud)

$ .ajax代码收到以下错误

"An error has occurred."

ExceptionMessage
    "This method or property is not supported after HttpRequest.Form, Files, InputStream, or BinaryRead has been invoked."

ExceptionType
    "System.Web.HttpException"

StackTrace
at System.Web.HttpRequest.GetInputStream(Boolean persistEntityBody, …

asp.net jquery http-post asp.net-web-api

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

使用Ajax将表单数据发布到Controller的操作

我在MVC3中有一个页面,带有一个链接(Ajax.ActionLink).当用户单击它时,它会调用控制器的操作,并将结果插入到div中,并使用replace.

代码如下所示:

@Ajax.ImageActionLink("/Images/btn_share.png", "Share pool", "SharePool", new { poolKey = Model.Id, poolName = Model.Name },
    new AjaxOptions { 
        UpdateTargetId="popup", 
        HttpMethod="GET", 
        InsertionMode = InsertionMode.Replace,
        LoadingElementId="loading_dialog",
        OnSuccess = "ShowPopup('#popup_share', true, true)"
    } 
Run Code Online (Sandbox Code Playgroud)

ImageLinkAction是使用image作为链接的自定义扩展方法,ShowPopup是一个javascript函数,显示更新的div(使其看起来像弹出窗口)

现在插入到创建弹出窗口的div中的标记代码包含如下表单

<div>
@using (Html.BeginForm()) {

    @Html.HiddenFor(model => model.ID)

    <div class="editor-label">
        @Html.LabelFor(model => model.EmailAddress)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.EmailAddress)
        @Html.ValidationMessageFor(model => model.EmailAddress)
    </div>

    // ... other fields

    @Html.ValidationSummary(true)
    <p>
        <button type ="submit">Share</button>       
    </p>
}
</div>
Run Code Online (Sandbox Code Playgroud)

问题在于表单的提交:"提交"按钮调用正确的操作,但使用回发,这会导致我的页面刷新.我需要的是使用ajax发布数据,接收响应,这是另一个插入到的部分视图

我试图用Ajax.ActionLink替换Submit按钮,如下所示

    @Ajax.ActionLink("Share", "Share",
        new Models.MyModel 
            {
                ID = Model.ID,
                EmailAddress = Model.EmailAddress
            }, …
Run Code Online (Sandbox Code Playgroud)

ajax jquery asp.net-ajax asp.net-mvc-3

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