HEX在数据库("#ADD8E6")中有一个颜色代码字符串,我想用它来改变MigraDoc单元格的背景颜色.我找到了Color.Parse()功能,但它没有改变我的细胞的颜色.我不得不做以下事情:
string colourHex = (database.HexCode).Replace("#", "0x");
var colourObject = MigraDoc.DocumentObjectModel.Color.Parse(colourHex);
Cell.Shading.Color = colourObject;
Run Code Online (Sandbox Code Playgroud)
我知道这Cell.Shading.Color是正确的,因为如果我申请,Cell.Shading.Color = Colors.AliceBlue那么单元格会按预期更改颜色.我理解Color.Parse要求HEX代码开始0x而不是#.我尝试使用它#并且它失败了......至少我得到的是渲染......只是没有我的颜色.
我意识到这个错误可能有一百万零一个不同的原因,但我正在努力寻找我的原因。我对 Redux 和Reducer 中的状态处理比较陌生,并且从一些在线示例中学习,得出了下面在Reducer 中调用的代码示例:
const updateTripsWhereVenueDeleted = (state, action) => {
debugger;
const deletedVenueId = action.venue.Id;
const originalTrips = [...state];
const newTrips = originalTrips.map((trip) => {
if (trip.VenueId === deletedVenueId) {
trip.VenueId = 0;
trip.VenuePegId = 0;
}
return trip;
});
debugger;
return [...newTrips];
};
Run Code Online (Sandbox Code Playgroud)
我的状态是一系列行程:
Action包含一个“ Venue ”记录。基本上,正在传递的地点已被删除,我想更新引用已删除地点的所有行程的相关字段。
当我在Reducer中运行上面的代码时,事情似乎朝着正确的方向发展,直到浏览器崩溃并出现以下错误:
未处理的拒绝(不变违规):在调度内检测到状态突变,路径为:
trips.0.VenueId。看一下处理操作 {"type":"UPDATE_TRIPS_VENUE_DELETED","venue": {.... the object} 的减速器
UPDATE_TRIPS_VENUE_DELETED是调用我上面的方法的action.type。
在某种状态或其他情况下处理(传播)数组是否存在明显的误用。我觉得这应该是一件很容易做的事情,但到目前为止我所尝试的一切都没有正常工作。
我正在尝试使用npm的反应网络摄像头,以便能够录制带有音频的视频。我希望在录制时将音频静音,但在保存录音时将其包含在内。
网络摄像头设置如下:
const videoConstraints = {
width: 640,
height: 480,
facingMode: "user",
};
const audioConstraints = {
suppressLocalAudioPlayback: true,
noiseSuppression: true,
echoCancellation: true,
};
const ReactWebcam = () => {
return (
<div className="webcam" style={{ width: 640 }}>
<Webcam
audio={true}
height={100 + "%"}
width={100 + "%"}
screenshotFormat="image/jpeg"
videoConstraints={videoConstraints}
audioConstraints={audioConstraints}
/>
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
这用于单击按钮来录制和停止视频录制:
const handleStartCaptureClick = React.useCallback(() => {
setCapturing(true);
mediaRecorderRef.current = new MediaRecorder(webcamElement.current.stream, {
mimeType: "video/webm",
});
mediaRecorderRef.current.addEventListener(
"dataavailable",
handleDataAvailable
);
mediaRecorderRef.current.start();
}, [webcamElement, setCapturing, mediaRecorderRef, handleDataAvailable]); …Run Code Online (Sandbox Code Playgroud) 我一直在努力将我的紧耦合方法转换成可以进行单元测试的方法,并在这里寻求一些建议.由于一些建议,我现在让我的方法通过它的单元测试 - 但是我现在发现我无法从我的应用程序中调用该方法.我曾经从控制器访问我的GetAllProductsFromCSV()方法,具体如下:
public ActionResult Index()
{
var products = new ProductsCSV();
List<ProductItem> allProducts = products.GetAllProductsFromCSV();
foreach (var product in allProducts)
{
if (string.IsNullOrEmpty(product.ImagePath))
{
product.ImagePath = "blank.jpg";
}
}
return View(allProducts);
}
Run Code Online (Sandbox Code Playgroud)
方法如下:
public class ProductsCSV
{
public List<ProductItem> GetAllProductsFromCSV()
{
var productFilePath = HttpContext.Current.Server.MapPath(@"~/CSV/products.csv");
String[] csvData = File.ReadAllLines(productFilePath);
List<ProductItem> result = new List<ProductItem>();
foreach (string csvrow in csvData)
{
var fields = csvrow.Split(',');
ProductItem prod = new ProductItem()
{
ID = Convert.ToInt32(fields[0]),
Description = fields[1],
Item = fields[2][0], …Run Code Online (Sandbox Code Playgroud) 我正在使用 Quill(富文本),需要找到一种方法来检查页面提交表单时文本是否已更改。我对使用 Quill 还很陌生,并且一直在关注这里的事件。每次文本更改时(显然)都会使用文本更改触发器,但我在页面上还有其他表单输入控件,这些控件在表单提交时进行检查以查看它们是否已更改...我需要我的 RTF 框执行相同的操作。
编辑
我已经成功使用下面的示例来触发事件。我现在的问题是,即使编辑器在页面加载时预先填充,该事件似乎也会触发。仅当用户更改了文本时,我才不想确认这些初始加载。
我正在调用控制器操作,如下所示:
$j.ajax({
url: url,
type: "post",
data: JSON.stringify(commentParam),
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (data, status, jqxhr) {
$j('#' + commentsCtrlId + ' ul').prepend(data);
commentField.val('');
},
failure: function () {
alert("Error adding comment");
}
});
Run Code Online (Sandbox Code Playgroud)
操作如下所示:
[HttpPost]
public ActionResult Create(string commentBody, int parentObjectId, string parentObjectType, int actionId = 0)
{
try
{
// code to check security and pass info to the database. A comment model object is then passed back to the partial view
return PartialView("_Comment", comment);
} …Run Code Online (Sandbox Code Playgroud) 我是 Razor 页面的新手,所以请耐心等待。我的页面上有一个表格,填充如下:
单击最后一列将打开一个模式弹出窗口:
其中有一个用于删除所选行的按钮。然而,我似乎无法弄清楚如何将所选行的 ID 从表传递到DeleteSeasonTrip()javascript 函数,在该函数中我发布 Ajax 调用来删除所选行。
我认为我也许能够在行单击上填充隐藏字段并从那里获取它,但想知道是否有更好的解决方案。
asp.net-mvc ×2
c# ×2
javascript ×2
reactjs ×2
asp.net-ajax ×1
asp.net-core ×1
colors ×1
jquery ×1
migradoc ×1
modal-dialog ×1
post ×1
quill ×1
razor-pages ×1
redux ×1
state ×1
textchanged ×1
unit-testing ×1
webcam ×1