我正在寻找一个带有通用列表的GridView,并自动生成列.我得到一个例外,它没有正确的属性来允许它自动生成列.
例外
The data source for GridView with id 'GV1' did not have any properties or attributes from which to generate columns. Ensure that your data source has content.
Run Code Online (Sandbox Code Playgroud)
网格视图
<asp:GridView ID="GV1" runat="server" AutoGenerateColumns="true"></asp:GridView>
Run Code Online (Sandbox Code Playgroud)
页面加载
//LINQ query to populate list
List<student> su = new List<student>();
dbDataContext db = new dbDataContext();
var q = from c in db.data_table
where c.processed == false
orderby c.date_complete descending
select c;
//iterate through results and add to list
foreach(var c in q)
{
student s …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个存储过程来检查是否存在记录,如果它不存在,则返回一个插入SCOPE_IDENTITY
,如果确实存在则只返回该对象的ID.我在程序中获得此信息后,我需要使用它进行进一步处理,并且不确定如何SCOPE_IDENTITY
在IF...ELSE
语句中完成获取.
我的两张桌子:
CREATE TABLE [dbo].[ActionTable] (
[ActionID] [int] IDENTITY(1, 1) NOT NULL,
[ObjectID] [int] NOT NULL,
[ActionName] [nvarchar](255) NOT NULL
)
CREATE TABLE [dbo].[ObjectTable] (
[ObjectID] [int] IDENTITY(1, 1) NOT NULL,
[ObjectName] [nvarchar](255) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
存储过程:
CREATE PROCEDURE [dbo].[SetAction]
@ActionName [nvarchar](255),
@ObjectName [nvarchar](255)
AS
DECLARE @ObjectID [int]
--I have tried the following
IF NOT EXISTS(SELECT ObjectID FROM ObjectTable WHERE ObjectName = @ObjectName)
INSERT INTO ObjectTable(ObjectName)VALUES(@ObjectName)
--Here I need to set @ObjectID = SELECT …
Run Code Online (Sandbox Code Playgroud) 我正在创建用于在SQL Server数据库中插入和更新数据的存储过程.起初我正在为Add/Set创建一个单独的过程,但后来我偶然发现了一个允许我将它们压缩成一个过程的查询.我想与SO社区核实任何可能的未来问题,这样做.
单独的程序
--INSERT Procedure
CREATE PROCEDURE [dbo].[AddDataType]
@TypeName [nvarchar](255),
@TypeProperty [nvarchar](255)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO DataType(TypeName, TypeProperty)
VALUES(@TypeName, @TypeProperty)
SELECT SCOPE_IDENTITY()
END
--UPDATE Procedure
CREATE PROCEDURE [dbo].[SetDataType]
@ID [int],
@TypeName [nvarchar](255),
@TypeProperty [nvarchar](255)
AS
BEGIN
SET NOCOUNT ON;
UPDATE DataType SET TypeName = @TypeName, TypeProperty = @TypeProperty
WHERE ID = @ID
END
EXEC AddDataType @TypeName = 'Test Name', @TypeProperty = 'Test Property' --INSERT
EXEC SetDataType @ID = 42, @TypeName = 'Test Name', @TestProperty = 'Test Property' …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种更有效的方法来完成这项任务.我需要设置一个等于ID的变量(如果存在),如果不存在,则将变量设置为插入的标识.我可以通过执行以下操作来实现此目的:
@VariableName --sent through to stored procedure
DECLARE @VariableID [int]
IF EXISTS(SELECT VariableID FROM VariableTable WHERE VariableName = @VariableName)
SET @VariableID = (SELECT VariableID FROM VariableTable WHERE VariableName = @VariableName)
ELSE
INSERT INTO VariableTable(VariableName) VALUES(@VariableName)
SET @VariableID = SCOPE_IDENTITY();
END
Run Code Online (Sandbox Code Playgroud)
但是,运行相同的查询两次似乎效率低下(检查是否存在以及是否设置了变量)
只是寻找更好的方法来完成这项任务的建议.
我正在为我正在开发的项目构建一个自定义jQuery插件.我想返回一个自定义的对象到另一个jQuery插件...而不是必须确保使用我的插件的每个页面也有这个其他插件,是否可以将它包含在实际的插件本身?
而不是在使用我的插件的每个页面上键入以下内容:
<script type="text/javascript" src="url_to_my_plugin" />
<script type="text/javascript" src="url_to_plugin" />
Run Code Online (Sandbox Code Playgroud)
我想看看是否有一个选项可以允许以下内容:
(function($) {
$.include('url_to_plugin');
//code to implement my plugin
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
感谢Marko的建议......我可能做错了,因为我引用的插件没有被识别.以下是我的代码:
(function($) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'jquery.simplemodal.js'; //in same dir as my plugin
//tried both
document.body.appendChild(script);
document.getElementsByTagName('head')[0].appendChild(script);
$.fn.SUI_CheckProgress = function(options) {
return this.each(function() {
var obj = $(this);
var nDiv = $('<div>');
nDiv.modal(); //error nDiv.modal() is not a function
$(obj).append(nDiv);
}
};
});
Run Code Online (Sandbox Code Playgroud)
我尝试在实际函数调用的内部和外部声明脚本(理想情况是全局发生).如果我在我调用的页面中引用脚本,我验证代码是否正确执行,但是当我删除引用时它失败了.有关以编程方式向页面添加脚本的任何其他信息将不胜感激.
修复:我的问题是我引用了与js插件相同的目录,但是当它被添加到页面时它位于该目录之外.
是
script.src = 'jquery.simplemodal.js';
Run Code Online (Sandbox Code Playgroud)
固定
script.src = 'js/jquery.simplemodal.js';
Run Code Online (Sandbox Code Playgroud) 我有一个页面,其中包含网络状态的事件侦听器.当网络"离线"时,我想禁用任何跨域链接以进入离线模式.我试图使用.preventDefault()
,但是当应用程序重新联机时,我需要重新启用链接.
事件听众
//check network status
if(!navigator.onLine) {
offlineLinks(); //Offline mode function
}
//add event listeners for network status
window.addEventListener('offline', function(e) {
offlineLinks(); //Offline mode function
}, false);
window.addEventListener('online', function(e) {
//need to re-enable links/Online mode
}, false);
window.addEventListener('error', function(e) {
alert('Error fetching manifest: there is a good chance we are offline.');
offlineLinks(); //Offline mode function
});
Run Code Online (Sandbox Code Playgroud)
"去链接"功能
function offlineLinks() {
$('a[href^="http"]').click(function(e) {
e.preventDefault();
$('#offline-dialog').dialog({
modal: true,
buttons: {
Ok: function() {
$(this).dialog('close');
}
}
});
});
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种可扩展的解决方案,如果页面上有大量链接,则不会导致延迟.是否有一个简单的解决方案来扭转 …
我有一个带有文本输入#usernameInput
和链接的表格单元格#saveLink
.使用jQuery我有一个分配给click事件的函数#saveLink
.
我想要实现的是,当#usernameInput
失去焦点时我想隐藏它.除非失去焦点#saveLink
.换句话说,如果用户点击#saveLink
我要隐藏的#usernameInput
其他地方,否则请在上面调用click事件#saveLink
.
我没有问题处理,$('#usernameInput').focusout()
但我无法检测是否单击了保存链接.
这是我到目前为止所拥有的.
<script type="text/javascript">
$('#usernameInput').focusout(function ()
{
if (!$('#saveLink').is(':focus'))
{
$('#usernameInput').hide();
}
return;
});</script>
Run Code Online (Sandbox Code Playgroud) 高级别我有两个表需要镜像一些数据.我无法通过并更改所有代码以写入两者,所以我想我会使用SQL触发器将数据插入到第二个表中的任何时候.这是我被困的地方:
CREATE TRIGGER new_trigger_INSERT
ON old_table
FOR INSERT
INSERT INTO new_table (id, first_name, last_name)
VALUES () --This is where I'm lost, I need to insert some of the data from the insert that executed this trigger
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏,如果有更好的方法来实现这一点,请告诉我.
我有一个较旧的表,其中一个datetime
列被构建为a,varchar
并且在此表中插入数据的表单是自由形式的,没有验证/限制.我已经更正了表格,现在我正在设定规范化数据的任务.我需要查询此列以查找不能CAST
作为的所有记录datetime
例子:
9/30/2008
9/30/13
august 2010
5/11
30SEP12
31-Mar-2011
2005
Run Code Online (Sandbox Code Playgroud)
我已经清理了N/A
数据,NULL
但不确定是否能够获得所有不被视为有效日期的有效方法.任何提示或技巧或我将不得不通过记录记录将此列转换为datetime
数据类型?
我正在尝试创建一个具有可选参数的存储过程.我按照这里列出的说明操作.我也引用了这个问题.但是我一直收到以下错误:
将数据类型varchar转换为int时出错.
当我执行它时,它工作
EXEC sp_get_user {id#}
Run Code Online (Sandbox Code Playgroud)
要么
EXEC sp_get_user NULL, {username}
Run Code Online (Sandbox Code Playgroud)
但失败了
EXEC sp_get_user {username}
Run Code Online (Sandbox Code Playgroud)
存储过程
@id int = NULL,
@username nvarchar(50) = NULL
SELECT
username = COALESCE(a.Username, b.Username),
password = COALESCE(a.Password, b.Password),
signup_date = COALESCE(a.SignedUpOn, b.Signup_Date)
FROM table1 a
FULL OUTER JOIN table 2 b
ON a.ID = b.ID
WHERE ((a.ID = @id OR @id IS NULL)
AND (a.Username = @username OR @username IS NULL)
OR (b.ID = @id OR @id IS NULL)
AND (b.Username …
Run Code Online (Sandbox Code Playgroud) 我创建了一个javascript对象和一个函数来构建一个新的对象实例.我现在需要在我的页面上使用这个对象但是没有运气,我觉得我错过了一些东西.
JS包含文件
function MyObject() {
this.ID = 0;
this.Name = "";
}
function GetObject(param1, param2) {
//ajax call to get json string
$.ajax({ //leaving out details this part works
success: function(data) {
var jsonData = $.parseJSON(data.d);
var myObj = new MyObject();
myObj.ID = jsonData[0].ID;
myObj.Name = jsonData[0].Name;
return myObj;
});
}
Run Code Online (Sandbox Code Playgroud)
此调用工作正常,但是当我尝试访问我得到的页面上的数据时 undefined
页
<script type="text/javascript">
$(function() {
var o = GetObject(1, 2);
});
</script>
Run Code Online (Sandbox Code Playgroud)
通过将DOM对象传递给函数并将其分配到那里,我能够使它工作.
function GetObject(param1, param2, domObj) {
//ajax call to get json string
$.ajax({ //leaving out …
Run Code Online (Sandbox Code Playgroud) jquery ×4
javascript ×3
sql-server ×3
linq ×2
c# ×1
data-binding ×1
datetime ×1
exists ×1
gridview ×1
html5 ×1
if-statement ×1
include ×1
insert ×1
instance ×1
object ×1
offlineapps ×1
triggers ×1