在我的MVC应用程序中,几个视图模型几乎完全相同.而不是每次复制模型,我想我可以创建一个类而不是.我不确定的是如何在每个模型中包含该类.
例如,假设我的模型看起来像这样:
public class AccountProfileViewModel
{
public string FirstName { get; set; }
public string Lastname { get; set; }
public AccountProfileViewModel() { }
}
Run Code Online (Sandbox Code Playgroud)
但我知道FirstName和LastName将在许多模型中广泛使用.所以,我在其中创建了一个带有AccountProfile的类库:
namespace foobar.classes
{
public class AccountProfile
{
public string FirstName { get; set; }
public string Lastname { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
回到模型中,我将如何包含该类,以便FirstName和LastName在模型中,但不是专门创建的?
我非常清楚Azure Cloud Services上可以使用反向DNS.那不是我要问的.我需要知道在使用Azure资源管理器时是否可行.我在网上看了很多,虽然我发现了一些(2年以上)的老问题,但我找不到任何答案.
谢谢!
此插入语句有效.但是,我希望也许有人可以教我一种更有效的方法来进行这种查询.这就是我所拥有的......
我有一个名为Source的表,其中DealerID是一个非唯一的ID(无论如何都在这个表中).对于每个DealerID,有多个名称.例:
15 BillBoard
15 Event
15 Newspaper
16 BillBoard
16 Event
16 Newspaper
Run Code Online (Sandbox Code Playgroud)
我知道我知道.这是存储此数据的非常低效的方法.我们正在处理遗留应用程序,我现在无法彻底改变这种数据结构.所以,我需要做的是为每个DealerID添加两个新记录.一个用于"电话",一个用于"互联网".所以在插入之后,它看起来像这样:
15 BillBoard
15 Event
15 Newspaper
15 Phone
15 Internet
16 BillBoard
16 Event
16 Newspaper
16 Phone
16 Internet
Run Code Online (Sandbox Code Playgroud)
下面的sql语句有效,但我想知道是否有更好的方法...
declare @SourceTemp table (
[Id] int identity (1, 1) not null,
[DealerId] int
)
insert into @SourceTemp select distinct DealerId from Source where DealerId is not null
declare @dealerid int
declare @rowcount int = 1
declare @idcount int
select @idcount = max(Id) from @SourceTemp …
Run Code Online (Sandbox Code Playgroud) 假设我有两个列表.
我们知道列表中的项目数是相同的,并且该ID是匹配的.
但是,一个或多个属性(ID除外)可能已经改变.在这种情况下,两个数量发生了变化:
List1
---------
{
ItemId: 1
Quantity: 10
}
{
ItemId: 2
Quantity: 12
}
{
ItemId: 3
Quantity: 1
}
Run Code Online (Sandbox Code Playgroud)
然后是几乎相同的匹配项目列表......
List2
---------
{
ItemId: 1
Quantity: 10
}
{
ItemId: 2
Quantity: 3
}
{
ItemId: 5
Quantity: 1
}
Run Code Online (Sandbox Code Playgroud)
除了遍历每个属性并比较Quantity属性之外,有没有办法比较两个列表,找到发生更改的ID,然后仅对更改的项目调用Update方法?
换句话说,我只是想避免遍历每个列表.
我正在尝试将一个电子邮件地址列表放在一个字符串中,如下所示:
string bcc = string.empty
foreach (contact as Contact in contacts)
{
bcc = bcc + contact.Email + ","
}
Run Code Online (Sandbox Code Playgroud)
该方法的问题是最终字符串有一个尾随逗号.没什么大不了的,但我想避免它,只是为了整洁.所以,我试过这个:
bcc = bcc.Join(",", contact.Email);
Run Code Online (Sandbox Code Playgroud)
但是这会引发错误:
使用实例引用无法访问成员'string.Join(string,params string [])'; 用类型名称来限定它
所以,我试过这个:
bcc = String.Join(",", contact.Email);
Run Code Online (Sandbox Code Playgroud)
但这只是bcc
每次都清除,我最终得到的是最后一个电子邮件地址.所以,我试过这个:
bcc = bcc + string.Join(",", contact.Email);
Run Code Online (Sandbox Code Playgroud)
但这让我得到了一长串未分隔的电子邮件,没有逗号分隔.
我确定当我看到解决方案时,我会打击我的额头.但我并没有抓住它.
这个查询:
SELECT
sc.ContactID
, c.Price
, p.ParkID
FROM
tblc c
JOIN tblsc ON c.ID= sc.ID
LEFT JOIN tblp p ON sc.ID= p.ID
WHERE
(stuff = stuff)
AND (stuff = stuff)
Run Code Online (Sandbox Code Playgroud)
返回此:
ContactID LeadSalePrice ParkID
-------------------------------------
1 50 NULL
2 60 22
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试为其设置另一个AND
条款ParkID
.但是,我只想AND
在ParkID
IS NOT NULL的行上执行此操作.因此,如果在ParkID
IS NULL的行上,我们希望始终保留这些行.在ParkID IS NOT NULL的行上,我们只想保留这些行,如果ParkID
匹配参数.
如果@ParkID = 22,则返回两行.
如果@ParkID <> 22,那么只返回顶行.
如果@ParkID = NULL,则返回两行.
我试过这个:
SELECT
sc.ContactID
, c.Price
, p.ParkID
FROM
tblc c
JOIN …
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的jQuery方法:
$(document).on("keyup", ".txtTag", function (event) {
var bomItemID = $(this).data('bomitemid');
var tag = $(this).val();
$.post("/BillOfMaterial/SetTag?BomItemID=" + bomItemID + "&Tag=" + tag, function (result) {
// don't do anything
});
});
Run Code Online (Sandbox Code Playgroud)
在浏览器的控制台中,我收到以下错误消息:
无法加载资源:服务器响应状态为404(未找到) http:// localhost:61560/BillOfMaterial/SetTag?BomItemID = 3671&Tag = xz
但是,当我点击该链接时,它的工作正常.我甚至可以在服务器上的方法SetTag()中找到一个断点.
这是服务器端方法:
[HttpGet]
public ActionResult SetTag(int BomItemID, string Tag)
{
... do stuff
return Json("SUCCESS", JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud) 我需要验证用户上传的文件不超过10mb.这会完成工作吗?
var fileSize = imageFile.ContentLength;
if ((fileSize * 131072) > 10)
{
// image is too large
}
Run Code Online (Sandbox Code Playgroud)
我一直在看这个帖子,而这一个 ...但是它们都没有让我一路走来.我用它作为转换率.
.ContentLength
得到大小的字节.然后我需要将其转换为mb.
这是我尝试过的代码
int[] WeeklyTotal = new int[53];
for (int w = 1; w <= 53; w++)
{
WeeklyTotal[w] = WeeklyTotal[w] + data.Rows[i]["week" + w]; // Error is here
}
Run Code Online (Sandbox Code Playgroud)
但我收到编译错误:
无法将opperator +应用于int和object类型的opperands
这里的语法是什么?
谢谢!
UPDATE
@Customer
SET
ValidaitonAction = 1
WHERE NOT EXISTS
(SELECT 1 FROM DMScustomerupload WHERE AccountNumber = @Customer.AccountNumber)
Run Code Online (Sandbox Code Playgroud)
@Customer
TABLE变量在哪里:
DECLARE @Customer TABLE ( ID int,
ValidaitonAction int,
... other columns))
Run Code Online (Sandbox Code Playgroud)
在最后一行,我得到
必须声明标量变量@Customer
c# ×6
sql ×3
sql-server ×3
asp.net-mvc ×2
.net ×1
ajax ×1
arrays ×1
azure ×1
class ×1
database ×1
javascript ×1
jquery ×1
linq ×1
performance ×1
reverse-dns ×1
sql-insert ×1
string ×1