我试图在一个确切的位置设置div的left属性,具体取决于其父级的宽度.
具体来说,我希望'left'属性为其父宽度 - 350px.
我试图像这样使用css3的计算(左:calc(100% - 350px))无济于事.这可能是因为100%正在查看左侧属性而不是父级宽度...
这有可能或我做错了什么?
谢谢
<div id="login5" class="login">
<h3>Login</h3>
// code
</div>
Run Code Online (Sandbox Code Playgroud)
然后在我的CSS中:
#login5 {
position: absolute;
width: 260px;
left: calc(100% - 350px);
background-color: rgba(50, 50, 50, 0.6);
padding: 20px;
}
Run Code Online (Sandbox Code Playgroud) 我似乎与SignalR的JS Client Hub有问题.
问题是'on'处理程序似乎不起作用 - 它不会产生错误,但不会接收服务器发送的任何信号.下面的代码显示了一个提取,我调用服务器(使用调用)工作正常 - 然后在服务器上我回调acceptHubData应该在客户端上获取但不是.
我的目标是当导航到页面时,每个页面将打开与特定集线器的连接,并在用户移动到另一个页面时释放此连接!
编辑:使用以下代码片段工作,但我想知道为什么下面的代码使用'on'事件不起作用!
var superHub = $.connection.mySuperHub;
superHub.client.acceptHubData = function (data) {
$('<li>hello there' + data + '</li>').prependTo($('#ul1'))
}
$.connection.hub.start().done(function () {
$('<li>done phase 1</li>').prependTo($('#ul1'))
});
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激!
这是客户端代码(以js为单位)
$(document).ready(function () {
var myHub;
try {
var connection = $.hubConnection();
connection.start().done(function () {
myHub = connection.createHubProxy("mySuperHub");
myHub.on('acceptHubData', function (data) {
alert(data); // THIS IS NOT CALLED!
});
myHub.invoke('AcceptSignal', "hello from the client2");
});
}
catch (e) {
alert(e.message);
}
});
Run Code Online (Sandbox Code Playgroud)
这是服务器代码:
[HubName("mySuperHub")]
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用动态LINQ进行GroupBy,但无法使其工作.
这是一些说明问题的示例代码:
List<dtoMyAlbum> listAlbums = new List<dtoMyAlbum>();
for (int i = 0; i < 5000; i++)
{
dtoMyAlbum album = new dtoMyAlbum
{
Author = "My Author",
BookID = i,
CurrSymbol = "USD",
Price = 23.23,
Shop = i % 3 == 0 ? "TESCO" : "HMV"
};
listAlbums.Add(album);
}
IQueryable<dtoMyAlbum> mydata = listAlbums.AsQueryable();
int count = mydata.Count();
//var mydataGrouped = mydata.GroupBy(a => a.Shop); // <-- this works well (but is not dynamic....)
var mydataGrouped = mydata.GroupBy("Shop"); // <-- does …Run Code Online (Sandbox Code Playgroud) 我使用knockout将DOM元素绑定到viewModel.当我在底层模型上更改属性时,它会更改DOM - 一切正常.
但是,有没有办法到达绑定的DOM元素,所以我可以在底层模型从外部更新时添加一个类?
我使用了自定义绑定,这使我可以访问DOM元素,但我想知道是否有一个更简单的方法直接来自viewModel的绑定属性?
谢谢
示例代码(TypeScript)
SetMyCell(row: number, newValue: any) {
var ditem = this._DataItems[row];
// update the actual value
ditem.Producer(newValue);
// Now I wish to decorate the DOM item this Producer property is
// bound to with a class. How to go about that?
}
Run Code Online (Sandbox Code Playgroud) 我试图找出为什么下面的代码似乎不起作用.它没有给出错误 - 它根本不会缩放.如果我将其更改为我的第二个代码示例,它实际上似乎有效.有人有任何想法吗?
谢谢
public static void StartMouseEnterAnimation(Button button)
{
Storyboard storyboard = new Storyboard();
ScaleTransform scale = new ScaleTransform(1.0, 1.0, 1, 1);
button.RenderTransformOrigin = new Point(0.5, 0.5);
button.RenderTransform = scale;
DoubleAnimation growAnimation = new DoubleAnimation();
growAnimation.Duration = TimeSpan.FromMilliseconds(300);
growAnimation.From = 1;
growAnimation.To = 1.8;
storyboard.Children.Add(growAnimation);
Storyboard.SetTargetProperty(growAnimation, new PropertyPath(ScaleTransform.ScaleXProperty));
Storyboard.SetTarget(growAnimation, scale);
storyboard.Begin();
}
Run Code Online (Sandbox Code Playgroud)
---下面的DOES工作,但我必须创建一个TransformGroup并通过一个更复杂的PropertyChain引用它...
public static void StartMouseEnterAnimation(Button button)
{
Storyboard storyboard = new Storyboard();
ScaleTransform scale = new ScaleTransform(1.0, 1.0, 1, 1);
button.RenderTransformOrigin = new Point(0.5, 0.5);
TransformGroup myTransGroup …Run Code Online (Sandbox Code Playgroud) 在SignalR中,HubConnectionContext中定义了公共属性:
public dynamic All { get; set; }
Run Code Online (Sandbox Code Playgroud)
这使得用户可以称之为:All.someMethodName(); 这很棒.
我现在想在我的函数中使用传入参数来调用它.我怎样才能做到这一点?
如: All.<my variable as method name>();
有没有办法做到这一点?
谢谢
编辑示例:
public void AcceptSignal(string methodToCall, string msg)
{
Clients.All.someMethod(msg); // THIS WORKS
Clients.All.<methodToCall>(msg); // THIS DOES NOT WORK (But I would like it to!)
}
Run Code Online (Sandbox Code Playgroud) 我有以下与动态linq库完美配合:
string where = "Price < 5";
string orderby = "BookID ASC";
IQueryable<T> MyDataQueryable = _DataRawBase.AsQueryable<T>();
MyDataQueryable = MyDataQueryable.Where(where).OrderBy(orderby);
Run Code Online (Sandbox Code Playgroud)
现在我想查询MyDataQueryable来做某些字段的SUM(也许是平均值).
我该怎么做?
就像是:
double mysum = MyDataQueryable.Sum("Price");
Run Code Online (Sandbox Code Playgroud)
会好的...
我试图通过TypeScript/JQuery计算出DOM元素的位置和高度/宽度.在TypeScript之前我只是做了这样的事情:
function ActOnClick(itemClicked, loadPath) {
//sample code
var v1 = itemClicked.offset();
var v2 = itemClicked.width();
var v3 = itemClicked.height();
};
$(document).ready(function () {
$("#idCRM").click(function () {
ActOnClick($("#idCRM"), "/Widgets/GetCRM");
});
}
Run Code Online (Sandbox Code Playgroud)
其中idCRM是我的cshtml文档中的"部分"(但它可以是任何div等)
现在我试图将此代码移动到TypeScript中,但我在ActOnClick函数中期望从jQuery的$("#idCRM")进入什么类型?现在我选择'元素'但是a)它没有暴露宽度,高度等b)由$("#idCRM")引起的ActOnClick调用失败!
/// <reference path="../../ScriptsTS/jquery.d.ts" />
function ActOnClick(itemClicked: Element, loadPath: string) {
var v1 = itemClicked.offset(); <-- FAILS
var v2 = itemClicked.width(); <-- FAILS
var v3 = itemClicked.height(); <-- FAILS
};
$(document).ready(function () {
$("#idCRM").click(function () {
ActOnClick($("#idCRM"), "/Widgets/GetCRM"); <-- FAILS
});
}
Run Code Online (Sandbox Code Playgroud) 我试图从两个不同的对象绑定两个属性,这两个属性都INotifyPropertyChanged在代码中实现:
public class ClassA : INotifyPropertyChanged
{
// leaving out the INotifyPropertyChanged Members for brevity
public string Status
{
get { return _Status; }
set { _Status = value; RaiseChanged("Status"); }
}
}
public class ClassB : INotifyPropertyChanged
{
// leaving out the INotifyPropertyChanged Members for brevity
public string Status
{
get { return _Status; }
set { _Status = value; RaiseChanged("Status"); }
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将这两个属性绑定在代码中,如果其中一个属性是"正确的"依赖属性,我会怎么做?像这样的东西?
ClassA classA = new ClassA();
ClassB classB = new ClassB();
Binding bind …Run Code Online (Sandbox Code Playgroud) 我知道在Kendo树视图中查找嵌套节点的确切路径.所以我希望沿着这条路线扩展所有节点去实现目标.我知道如何找到一个节点并让Kendo扩展该节点.
我的Treeview使用web-api来获取数据,一切运行良好.模式定义如下:
schema: {
model: {
id: "CodeList",
hasChildren: "HasKids"
}
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的是树自动扩展到嵌套级别.说我知道到达节点的路径是'Level1CodeA | Level2CodeA | Level3CodeA'所以首先我想找到我能做的代码'Level1CodeA'.
然后,我希望扩展此节点(在内部它检索此节点下的数据,它扩展正常)之后我想找到'Level2CodeA',重复该过程,所以也找到然后选择Level3CodeA.
我该怎么做?我正在寻找一个'AfterExpanded'事件,我可以用它开始下一个搜索和扩展操作,但我找不到任何我可以使用的事件.我在我的数据源上尝试了'更改'事件,但这次被激活多次,我似乎无法将其缩小到正确的项目..
非常感谢.
编辑:更多代码
<script id="treeII-template" type="text/kendo-ui-template">
<img id="explorerItemImg" src="#: item.Image #" />
<span id="explorerItemCode">#: item.Code #</span> -
<span id="explorerItemFullName">#: item.FullName #</span>
# if (item.Level < (item.Levels - 1)) { #
[<span id="explorerItemLCount">#: item.LCount #</span>]
# } #
# if (item.HasKids) { #
[<span id="explorerItemPCount">#: item.PCount #</span>]
# } #
</script>
Run Code Online (Sandbox Code Playgroud)
用于创建HierarchicalDataSource并将其分配给树视图的代码:
// -----------------
// set the datasource for the bottom explorer...
// …Run Code Online (Sandbox Code Playgroud) 我的 Kendo AutoComplete 小部件有问题。
我正在尝试在用户输入搜索的前两个字符后查询数据源。在服务器(web api)上,我使用这两个字符来限制搜索,一切都很好,即如果我继续输入搜索,将返回一个子集并正确显示并进一步过滤。
但是,然后我重新键入一个新的搜索条目,该条目不再返回数据源,因此我被困在从第一个查询中检索到的数据中。
我该如何正确处理?
谢谢
这是我的测试代码:
public class AlbumsController : ApiController
{
HttpRequest _request = HttpContext.Current.Request;
// GET api/albums
public IEnumerable<Album> GetForAutoComplete()
{
string sw = _request["sw"] == null ? "" : _request["sw"].ToString();
var query = (from a in Albums.MyAlbums
where a.Title.ToLower().StartsWith(sw)
orderby a.Title
select a).ToArray();
return query;
}
Run Code Online (Sandbox Code Playgroud)
我在客户端的 javascript 是这样的:
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/api/Albums/GetForAutoComplete",
data: {
sw: function () {
return $("#albumSearch").data("kendoAutoComplete").value();
}
}
} …Run Code Online (Sandbox Code Playgroud) 我试图分离出一些在Vuex变异中许多调用中常见的代码。我感到这是不受欢迎的,但我不明白为什么。
看下面的一些示例代码的图像:
我在Vuex中添加了此“帮助程序”条目-显然不存在,但是如何从突变和/或动作中调用共享的帮助程序功能“ getColumn”?
还是我不得不诉诸“ VuexHelper”类的静态方法?:(
就像是:
注意 我已经看过以下内容:
谢谢
从多个线程获取消息到队列的最佳方法是什么,并且一次只有一个线程处理此队列的项目?
尝试断开多线程的活动时,我经常使用此模式.
我正在使用BlockingCollection,如下面的代码提取中所示:
// start this task in a static constructor
Task.Factory.StartNew(() => ProcessMultiUseQueueEntries(), TaskCreationOptions.LongRunning);
private static BlockingCollection<Tuple<XClientMsgExt, BOInfo, string, BOStatus>> _q = new BlockingCollection<Tuple<XClientMsgExt, BOInfo, string, BOStatus>>();
/// <summary>
/// queued - Simple mechanism that will log the fact that this user is sending an xMsg (FROM a user)
/// </summary>
public static void LogXMsgFromUser(XClientMsgExt xMsg)
{
_q.Add(new Tuple<XClientMsgExt, BOInfo, string, BOStatus>(xMsg, null, "", BOStatus.Ignore));
}
/// <summary>
/// queued - Simple mechanism that will log the data being …Run Code Online (Sandbox Code Playgroud) c# ×5
kendo-ui ×2
linq ×2
signalr ×2
wpf ×2
.net ×1
animation ×1
binding ×1
css3 ×1
dynamic-linq ×1
jquery ×1
knockout.js ×1
signalr-hub ×1
typescript ×1
vue.js ×1
vuex ×1