我在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不太熟悉,所以对任何帮助表示赞赏.
有没有办法根据字符串为ViewBag创建和使用动态属性?
就像是
ViewBag.CreateProperty("MyProperty");
ViewBag.Property("MyProperty") = "Myvalue";
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个类似的枚举
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) 我有一个类和一个列表如下:
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实现这个目标?
谢谢
我尝试开始使用MVC SPA应用程序,我在BundleConfig中注意到以下内容:
ScriptBundle("~/scripts/jquery-{version}.js")
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?什么是{version}以及它取自何处?
哪里可以找到更多信息,BundleConfig如何工作以及如何定制它?
谢谢
我有一个用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呢?
谢谢
我在C#中编写了一个模块,它导出了一些在C中使用的函数.我需要为C < - > C#之间的一些结构分配一些内存.
我在CI中分配的内容使用malloc,而在C#中我使用Marshal.AllocHGlobal()(分配非托管内存以传递给C).
如果我释放()使用Marshal.AllocHGlobal分配的内存,并且我使用malloc分配的Marshal.FreeHGlobal()释放内存,是否有任何问题?
谢谢
我的语言环境使用逗号,,而不是.小数点分隔符的点.
在MVC3中,当我打开一个显示小数值的编辑视图时
@Html.EditorFor(model => model.MyDecimalVal)
Run Code Online (Sandbox Code Playgroud)
值正确显示.
当我用逗号输入值时,我得到错误"值不是数字",如果我用点输入值,我没有错误,但实际上没有保存任何值.
如何处理这种情况?
我有一个使用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, … 我在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) asp.net-mvc ×2
c# ×2
jquery ×2
localization ×2
.net ×1
ajax ×1
asp.net ×1
asp.net-ajax ×1
bundle ×1
c ×1
c#-4.0 ×1
enums ×1
html-encode ×1
http-post ×1
linq ×1
pinvoke ×1
rest ×1
sql ×1
sql-server ×1
t-sql ×1
unmanaged ×1
viewbag ×1
wcf ×1